Paths类结合FileSystem实现解压zip文件
来源:互联网 发布:cmd运行java文件 编辑:程序博客网 时间:2024/05/05 04:11
Paths类会在默认文件系统中查找路径,即在用户的本地磁盘中的文件,但是也可以有别的文件系统,比如ZIP文件系统
FileSystem的一些方法:
abstract Iterable getFileStores()
abstract Path getPath(String first, String… more)
abstract Iterable getRootDirectories()
abstract String getSeparator()
abstract boolean isOpen()
abstract boolean isReadOnly()
abstract FileSystemProvider provider()
abstract Set supportedFileAttributeViews()
存在的问题:只能遍历UTF-8格式,目前还不知道有什么方法设置编码格式
可以实现:对ZIP中文件的复制(等价解压)
解压ZIP到指定位置;
//1.解压zip文件public static void Unzip(String zipfile,String destDir) throws IOException { Path path=Paths.get(zipfile); final Path destPath=Paths.get(destDir); if (Files.notExists(path)) { throw new IOException("源文件不存在"); } if (Files.notExists(destPath)) { Files.createDirectories(destPath); } //获取ZIP文件系统,接受以 zip或jar结尾的文件 FileSystem fs=FileSystems.newFileSystem(Paths.get(zipfile),null); //遍历所有的文件,默认只能遍历UTF-8格式的 Files.walkFileTree(fs.getPath("/"),new SimpleFileVisitor<Path>() { //按官方例子来说,这里分开处理文件夹,感觉没有必要// @Override// public FileVisitResult preVisitDirectory(Path dir,// BasicFileAttributes attrs) throws IOException {// return null;} @Override //处理文件 public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException { Path target=Paths.get(destPath.toString(), file.toString()); if (Files.notExists(target.getParent())) { Files.createDirectories(target.getParent()); } Files.copy(file, target); return FileVisitResult.CONTINUE; } }); } public static void main(String[] args) throws IOException{// Unzip("D:/压缩/UTFtest.zip","D:/压缩/111/11"); }
0 0
- Paths类结合FileSystem实现解压zip文件
- Java实现解压ZIP文件
- java实现解压zip文件
- C#实现Zip文件解压
- 用ant包实现zip文件解压的类
- java实现zip文件压缩,解压
- android 实现zip文件的解压
- android 实现zip文件的解压
- 使用java实现zip文件的解压
- PHP ZipArchive 实现压缩解压Zip文件
- Java实现将zip文件解压
- nodejs zip 解压zip文件
- Zip文件解压
- Java解压zip文件
- zip文件上传下载 解压
- 解压*.zip.*的文件
- zip文件解压
- Android 解压zip文件
- iOS开发之多工程联编
- 深入理解java异常处理机制
- IO中同步、异步与阻塞、非阻塞的区别
- 爬取页面的json数据
- Cocos2dx打包安卓配置环境
- Paths类结合FileSystem实现解压zip文件
- Eclipse中使用SVN
- iOS及Mac开源项目和学习资料【超级全面】
- favicon.ico
- POI 生成excel
- Hudson插件开发简介
- 移动大数据平台的架构、实践与数据增值(1)
- 记一次w3wp占用CPU过高的解决过程(Dictionary和线程安全)
- 第1章第2节练习题15 拆分并逆序单链表