如何在java中避免FileSystemNotFoundException
我有下面的代码从一个文件复制数据并粘贴到另一个文件中,是否有人能帮助我避免异常**FileSystemNotFoundException** 感谢您期待…………我已经添加了异常屏幕截图如何在java中避免FileSystemNotFoundException,java,filesystems,Java,Filesystems,我有下面的代码从一个文件复制数据并粘贴到另一个文件中,是否有人能帮助我避免异常**FileSystemNotFoundException** 感谢您期待…………我已经添加了异常屏幕截图 package com.mod2.zipIn; 导入java.io.*; 导入java.net。*; 导入java.nio.file.*; 导入java.nio.file.FileSystem; 导入java.util.*; 公共类紫萍{ 公共静态void main(字符串[]args) { 字符串[]数据={
package com.mod2.zipIn;
导入java.io.*;
导入java.net。*;
导入java.nio.file.*;
导入java.nio.file.FileSystem;
导入java.util.*;
公共类紫萍{
公共静态void main(字符串[]args)
{
字符串[]数据={
“第1行”,
“第2行”,
“第3行”,
“第4行”,
“第5行”
};
try(FileSystem zipFs=openZip(path.get(“mydata.zip”)){
copyToZip(zipFs);
}捕获(例外e){
System.out.println(e.getClass().getSimpleName()+“”+e.getMessage());
}
}
私有静态文件系统openZip(路径zipPath)抛出IOException、URISyntaxException{
Map providerProps=新建HashMap();
providerProps.put(“创建”、“真实”);
URI zipURI=newURI(“jar:file”,zipPath.toUri().getPath(),null);
FileSystem zipFs=FileSystems.newFileSystem(zipURI,providerProps);
返回zipFs;
}
私有静态void copyToZip(文件系统zipFs)引发IOException{
Path sourceFile=Path.get(“file1.txt”);
Path destFile=zipFs.getPath(“\file1Copied.txt”);
复制(sourceFile、destFile、StandardCopyOption.REPLACE_现有);
}
}
您确定Paths.get(“mydata.zip”)返回文件的有效路径吗?(找不到文件?!)
很抱歉,本应将此作为评论,但目前不允许我粘贴错误stacktrace,以便于理解。请检查此项。
package com.mod2.zipIn;
import java.io.*;
import java.net.*;
import java.nio.file.*;
import java.nio.file.FileSystem;
import java.util.*;
public class ZipIn {
public static void main(String[] args)
{
String[] data = {
"Line 1 ",
"Line 2 2 ",
"Line 3 3 3",
"Line 4 4 4 4",
"Line 5 5 5 5 5"
};
try (FileSystem zipFs = openZip(Paths.get("mydata.zip"))){
copyToZip(zipFs);
} catch (Exception e) {
System.out.println(e.getClass().getSimpleName() + " " + e.getMessage());
}
}
private static FileSystem openZip(Path zipPath) throws IOException, URISyntaxException {
Map<String, String> providerProps = new HashMap<>();
providerProps.put("Create", "True");
URI zipURI = new URI("jar:file", zipPath.toUri().getPath(), null);
FileSystem zipFs = FileSystems.newFileSystem(zipURI,providerProps);
return zipFs;
}
private static void copyToZip(FileSystem zipFs)throws IOException {
Path sourceFile = Paths.get("file1.txt");
Path destFile = zipFs.getPath("\file1Copied.txt");
Files.copy(sourceFile, destFile, StandardCopyOption.REPLACE_EXISTING);
}
}