java代码生成器打不开 java代码生成器原理

java代码实现 导出zip包,无法打开zip压缩包package com.lch.test;
import java.util.Enumeration;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
public class ZIP {
public static void main(String[] argv) throws Exception {
ZipFile zf = new ZipFile("E:\\wk\\LBSLEMIS201106141057\\LBSLEMIS\\test\\com\\lch\\test\\filename.zip");
for (Enumeration entries = zf.entries(); entries.hasMoreElements();) {
String zipEntryName = ((ZipEntry) entries.nextElement()).getName();
System.out.println(zipEntryName);
}
}
}
用javad 的ZipFile类的ZipEntry方法试一下找到ZIP里面的ZipEntry方法读取Zip里面压缩文件的内容
有可能会引用外包
你好,我不知道你说的dzp是什么格式文件,但如果是zip的压缩文件,可以看下我的这段代码
ZipFile file = new ZipFile("d:\\1.zip");
ZipEntry entry = file.getEntry("1.xml");//假如压缩包里的文件名是1.xml
InputStream in=file.getInputStream(entry);
最后就是按照java中一贯的流的处理方式即可
可以不解压,zip包里的一个对象就是一个ZipEntry
找到你想要的那个ZipEntry,用文流写出来就可以了 。追问通过ZipEntry,然后用流就可以读出里面的内容了吗?谢谢指点!
回答/**
* 解压
* @param root 输出目标
* @param zipfile zip文件
*/
protected void unzip(File root, File zipfile, String file) throws Exception {
// 解压文件不存在时返回
if (!zipfile.exists()) {
return;
}
// 释放目录不存时创建
if (!root.exists()) {
root.mkdirs();
}
// 释放目录不为目录时返回
if (!root.isDirectory()) {
return;
}
FileInputStream fin = new FileInputStream(zipfile);
ZipInputStream zin = new ZipInputStream(fin);
ZipEntry entry = null;
while ((entry = zin.getNextEntry()) != null) {
//if (!entry.getName().endsWith(file)) {
//continue;
//}
File tmp = new File(root, entry.getName());
if (entry.isDirectory()) {
tmp.mkdirs();
} else {
byte[] buff = new byte[4096];
int len = 0;
tmp.getParentFile().mkdirs();
FileOutputStream fout = new FileOutputStream(tmp);
while ((len = zin.read(buff)) != -1) {
fout.write(buff, 0, len);
}
zin.closeEntry();
fout.close();
}
}
}
这里完整的解压代码 。
//if (!entry.getName().endsWith(file)) {
//continue;
//}
这段打开就是只解出一个你指定的文件 。
下面是测试用的 。
public static void main(String[] args) throws Exception {
new CommonFiles().unzip(new File("D:\\"), new File("D:\\test.zip"),"file.txt");
}
这个例子会在D盘生成型个test文件夹,file.txt就会在里面,(里面也可能会有多个文件夹,这个取决于压缩包里文件的度)
java程序不能执行?Java程序的运行过程(执行流程)分析
1、编写:是指在 Java 开发环境中进行程序代码的输入,最终形成后缀名为 .java 的 Java 源文件 。
2、编译:是指使用 Java 编译器对源文件进行错误排査的过程 , 编译后将生成后缀名为 .class 的字节码文件,不像C语言那样生成可执行文件 。
3、运行:是指使用 Java 解释器将字节码文件翻译成机器代码,执行并显示结果 。
字节码文件是一种和任何具体机器环境及操作系统环境无关的中间代码 。它是一种二进制文件,是 Java 源文件由 Java 编译器编译后生成的目标代码文件 。编程人员和计算机都无法直接读懂字节码文件 , 它必须由专用的 Java 解释器来解释执行,因此 Java 是一种在编译基础上进行解释运行的语言 。
Java 解释器负责将字节码文件翻译成具体硬件环境和操作系统平台下的机器代码,以便执行 。因此 Java 程序不能直接运行在现有的操作系统平台上,它必须运行在被称为 Java 虚拟机的软件平台之上 。
Java 虚拟机(JVM)是运行 Java 程序的软件环境,Java 解释器是 Java 虚拟机的一部分 。在运行 Java 程序时,首先会启动 JVM , 然后由它来负责解释执行 Java 的字节码程序,并且 Java 字节码程序只能运行于 JVM 之上 。这样利用 JVM 就可以把 Java 字节码程序和具体的硬件平台以及操作系统环境分隔开来,只要在不同的计算机上安装了针对特定平台的 JVM,Java 程序就可以运行,而不用考虑当前具体的硬件平台及操作系统环境 , 也不用考虑字节码文件是在何种平台上生成的 。
JVM 把这种不同软、硬件平台的具体差别隐藏起来 , 从而实现了真正的二进制代码级的跨平台移植 。JVM 是 Java 平台架构的基础 , Java 的跨平台特性正是通过在 JVM 中运行 Java 程序实现的 。Java 的这种运行机制可以通过下图来说明 。
Java 语言这种“一次编写,到处运行”的方式,有效地解决了目前大多数高级程序设计语言需要针对不同系统来编译产生不同机器代码的问题 , 即硬件环境和操作平台的异构问题,大大降低了程序开发、维护和管理的开销 。
提示:Java 程序通过 JVM 可以实现跨平台特性,但 JVM 是不跨平台的 。也就是说,不同操作系统之上的 JVM 是不同的,Windows 平台之上的 JVM 不能用在 Linux 平台 , 反之亦然 。
java web在网页上打不开,在eclipse上运行也是同样的提示像oracle就会占用java代码生成器打不开,可以用netstat命令结合 任务管理器查看 。
可以修改服务器java代码生成器打不开的http的默认端口 。比如tomcat的配置(tomcat目录\conf\server.xml)中可以直接修改 。
这个需要在eclipse重建服务器,新的server.xml配置的端口才管用 。我就是这样的 。可能eclipse在建服务器是引用首选项中的服务器时记录了端口信息 。
新建不是在首选项页面中 , 而是直接在开发IDE的服务器窗口中进行或在“run-as...”的界面中进行 。
1、首先,你要先打开Eclipse软件 , 打开后在工具栏依次点击【File】【New】【Dynamic Web Project】,这个就代表新建的项目是WEB项目java代码生成器打不开;提示:如果没有找到【Dynamic Web Project】请看下一步
2、如果我们找不到【Dynamic Web Project】这个选项,说明以前没有建立过WEB项目,所以不在快捷导航里,这时我们点击【Other】这个选项
3、这个界面弹出的是查询窗口,查询的内容是所有我们可以建立的项目类型,比如JAVA项目、WEB项目等,都可以再找个窗口查询得到
4、我们是要建立WEB项目 , 所以在查询输入框里输入【WEB】,下面会列出所有WEB相关的项目,现在,我们知道【Dynamic Web Project】这个类型的项目了,用鼠标选中它,然后点击【Next】按钮
5、这个是填写项目的基本信息,包括项目名、项目运行时服务器版本,你可以选择tomcat或者其他都可以 , 看你的项目需要,在这里我输入一个【Test】来测试项目的建立,输入完毕后我们点击【Next】按钮
6、这个窗口显示的WEB项目中需要编译的JAVA文件的目录,默认是SRC目录,这个我们不需要改 , 直接点击【Next】
7、接着弹出窗口,显示的是我们的WEB项目,WEB文件相关的目录,就是html或者jsp还有js那些web相关的文件存放的目录,默认是【WebContent】,你也可以修改成你想要的文件名,注意,下面有个复选框,表示的是是否要自动生成web.xml文件;web.xml:这个文件是WEB项目的核心文件,也是WEB项目的入口,老版本的Eclipse都会有这个文件,但是新版本的Eclipse因为可以使用在JAVA代码中注解的方式,所以提供让用户选择是否要生成,如果是新手最好选择生成;然后我们点击【Finish】
8、下面就是我们新建的WEB项目的目录结果;JAVA存放目录:SRC;WEB文件目录:WebContent;WEB配置文件:web.xml;现在,你可以开始你的JAVA开发之旅了
java代码生成器怎么用zip包,然后自动下载下来
1.预先定义好模板
2.界面输入相关参数
3.解析模板生成代码并下载
最后放出源代码:
package com.et.controller.system.createcode;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.et.controller.base.BaseController;
import com.et.util.DelAllFile;
import com.et.util.FileDownload;
import com.et.util.FileZip;
import com.et.util.Freemarker;
import com.et.util.PageData;
import com.et.util.PathUtil;
/**
* 类名称:FreemarkerController
* 创建人:Harries
* 创建时间:2015年1月12日
* @version
*/
@Controller
@RequestMapping(value=https://www.04ip.com/post/”/createCode”)
public class CreateCodeController extends BaseController {
/**
* 生成代码
*/
@RequestMapping(value=https://www.04ip.com/post/”/proCode”)
public void proCode(HttpServletResponse response) throws Exception{
PageData pd = new PageData();
pd = this.getPageData();
/* ============================================================================================= */
String packageName = pd.getString(“packageName”); //包名 ========1
String objectName = pd.getString(“objectName”); //类名 ========2
String tabletop = pd.getString(“tabletop”); //表前缀 ========3
tabletop = null == tabletop?””:tabletop.toUpperCase(); //表前缀转大写
String zindext = pd.getString(“zindex”); //属性总数
int zindex = 0;
if(null != zindext!””.equals(zindext)){
zindex = Integer.parseInt(zindext);
}
ListString[] fieldList = new ArrayListString[](); //属性集合 ========4
for(int i=0; i zindex; i){
fieldList.add(pd.getString(“field” i).split(“,fh,”)); //属性放到集合里面
}
MapString,Object root = new HashMapString,Object(); //创建数据模型
root.put(“fieldList”, fieldList);
root.put(“packageName”, packageName); //包名
root.put(“objectName”, objectName); //类名
root.put(“objectNameLower”, objectName.toLowerCase()); //类名(全小写)
root.put(“objectNameUpper”, objectName.toUpperCase()); //类名(全大写)
root.put(“tabletop”, tabletop); //表前缀
root.put(“nowDate”, new Date()); //当前日期
DelAllFile.delFolder(PathUtil.getClasspath() ”admin/ftl”); //生成代码前,先清空之前生成的代码
/* ============================================================================================= */
String filePath = “admin/ftl/code/”; //存放路径
String ftlPath = “createCode”; //ftl路径
/*生成controller*/
Freemarker.printFile(“controllerTemplate.ftl”, root, “controller/” packageName ”/” objectName.toLowerCase() ”/” objectName ”Controller.java”, filePath, ftlPath);
/*生成service*/
Freemarker.printFile(“serviceTemplate.ftl”, root, “service/” packageName ”/” objectName.toLowerCase() ”/” objectName ”Service.java”, filePath, ftlPath);
/*生成mybatis xml*/
Freemarker.printFile(“mapperMysqlTemplate.ftl”, root, “mybatis_mysql/” packageName ”/” objectName ”Mapper.xml”, filePath, ftlPath);
Freemarker.printFile(“mapperOracleTemplate.ftl”, root, “mybatis_oracle/” packageName ”/” objectName ”Mapper.xml”, filePath, ftlPath);
/*生成SQL脚本*/
Freemarker.printFile(“mysql_SQL_Template.ftl”, root, “mysql数据库脚本/” tabletop objectName.toUpperCase() ”.sql”, filePath, ftlPath);
Freemarker.printFile(“oracle_SQL_Template.ftl”, root, “oracle数据库脚本/” tabletop objectName.toUpperCase() ”.sql”, filePath, ftlPath);
/*生成jsp页面*/
Freemarker.printFile(“jsp_list_Template.ftl”, root, “jsp/” packageName ”/” objectName.toLowerCase() ”/” objectName.toLowerCase() ”_list.jsp”, filePath, ftlPath);
Freemarker.printFile(“jsp_edit_Template.ftl”, root, “jsp/” packageName ”/” objectName.toLowerCase() ”/” objectName.toLowerCase() ”_edit.jsp”, filePath, ftlPath);
/*生成说明文档*/
Freemarker.printFile(“docTemplate.ftl”, root, “说明.doc”, filePath, ftlPath);
//this.print(“oracle_SQL_Template.ftl”, root); 控制台打印
/*生成的全部代码压缩成zip文件*/
FileZip.zip(PathUtil.getClasspath() ”admin/ftl/code”, PathUtil.getClasspath() ”admin/ftl/code.zip”);
/*下载代码*/
FileDownload.fileDownload(response, PathUtil.getClasspath() ”admin/ftl/code.zip”, “code.zip”);
}
}
【java代码生成器打不开 java代码生成器原理】java代码生成器打不开的介绍就聊到这里吧 , 感谢你花时间阅读本站内容,更多关于java代码生成器原理、java代码生成器打不开的信息别忘了在本站进行查找喔 。

    推荐阅读