使用 java 移动文件都有哪些方法?
Posted
技术标签:
【中文标题】使用 java 移动文件都有哪些方法?【英文标题】:What are some methods that one use to move files with java?使用 java 移动文件有哪些方法? 【发布时间】:2013-02-11 21:37:44 【问题描述】:我正在为我正在制作的程序安装安装程序,它使用 zip 文件,但由于某种原因,我找不到从 zip 文件夹解压缩和安装文件的方法。如果有人可以帮助我,我会非常高兴。
【问题讨论】:
可以看看这个 API:docs.oracle.com/javase/6/docs/api/java/util/zip/… “我正在为一个程序做安装程序” 使用Java Web Start 作为安装程序! 查看 java.util.zip API (docs.oracle.com/javase/6/docs/api/java/util/zip/…) 看看是否有任何帮助。 另外你应该知道这个库的存在:commons.apache.org/compress/zip.html 一般来说,如果它有一个公共库,这意味着它比标准库提供的 API 更容易使用。 安装程序需要克服的第一个障碍是确保安装了合适的 JRE。在此基础上创建一个“基本”安装程序并非易事。创建一个安装程序可以做任何事情更多而不是简单的安装(自动更新、使用本机、桌面集成)是一项艰巨的任务。由于已经有 很多 的现有安装程序(例如 JWS、Launch4J、JSmooth 等)可以做到这一点,因此自行推出似乎是浪费精力。 【参考方案1】:虽然java.util.zip
和 Apache commons-io 提供了很好的机制来从 Java 中的 zip 文件中读取数据,但如果您真的想将 zip 文件解压到磁盘上并保留目录结构,那么最简单的 Java API 可能就是阿帕奇蚂蚁。
Project p = new Project();
p.init();
Expand ex = new Expand();
ex.setProject(p);
ex.setSrc(new File("myArchive.zip"));
ex.setDest(new File("targetDir"));
ex.perform();
但正如其他评论者所指出的,您可能应该考虑使用现有的安装程序构建工具,例如 IZPack,而不是重新发明***。
【讨论】:
【参考方案2】:试试这个解压你的文件:
String zipName = "my.zip";
String installDir = "/home/user/installDir";
try
ZipFile zipFile = new ZipFile(zipName);
files = zipFile.entries();
while (files.hasMoreElements())
ZipEntry zipEntry = files.nextElement();
if(zipEntry.isDirectory())
(new File(installDir + zipEntry.getName())).mkdir();
continue;
InputStream in = zipFile.getInputStream(zipEntry);
File newFile = new File("/home/user/tmp/testdit" + File.separator + zipEntry.getName());
new File(newFile.getParent()).mkdirs();
FileOutputStream fos = new FileOutputStream(newFile);
byte[] buffer = new byte[1024];
int len;
while ((len = in.read(buffer)) >= 0)
fos.write(buffer, 0, len);
in.close();
fos.close();
catch (IOException ex)
ex.printStackTrace();
【讨论】:
以上是关于使用 java 移动文件都有哪些方法?的主要内容,如果未能解决你的问题,请参考以下文章