我必须做简单的文件操作代码,包括复制/删除操作。问题是如果我将文件位置声明为路径
File remotefile = new File("//mypc/myfolder/myjar.JAR");
Windows在网络中找到该文件并执行操作。Linux机器如何找不到该文件。如果我要使用:
File remotefile = new File("file://mypc/myfolder/myjar.JAR");
两个平台都找到该文件。现在我有一个方法来复制文件:
public static void copyFile(File sourceFile, File destFile) throws IOException {
if(!destFile.exists()) {
destFile.createNewFile();
}
FileChannel source = null;
FileChannel destination = null;
try {
source = new FileInputStream(sourceFile).getChannel();
destination = new FileOutputStream(destFile).getChannel();
destination.transferFrom(source, 0, source.size());
}
finally {
if(source != null) {
source.close();
}
if(destination != null) {
destination.close();
}
}
}
如果我要将文件URI发送到此方法,则两个平台都找不到该文件。但是,如果我将其作为路径发送,Windows机器正常工作,但Linux机器无法找到该文件。
这可能是什么问题?