我使用FileSystem创建了一个.zip文件夹(压缩文件夹),该文件存在于JDK 1.7及更高版本的Java.nio包中。
URI zipUri = new URI("jar:" + fileUri.getScheme(), fileUri.getPath(), null);
FileSystem zipfs = FileSystems.newFileSystem(zipUri, env);
现在,我想将压缩文件夹从一个目录移动到另一个目录,但我找不到任何方法来找到压缩文件夹,因为它是一个FileSystem,并且没有方法可以移动它。
Files.move()仅适用于文件或目录,但不适用于从FileSystem创建的压缩文件夹。
有人能指出我正确的方向吗?
答案 0 :(得分:0)
如何将文件移动到Java中的另一个目录
Java.io.File不包含任何现成的make move文件方法,但您可以使用以下两种方法解决此问题:
File.renameTo()。 复制到新文件并删除原始文件。 在下面的两个示例中,您将文件“C:\ carpeta1 \ archivo.zip”从一个目录移动到另一个目录,文件名相同“C:\ carpeta2 \ archivo2.zip”。
package com.softMolina.zip;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class MoveZipExample
{
public static void main(String[] args)
{
InputStream inStream = null;
OutputStream outStream = null;
try{
File carpetaA =new File("C:\\carpeta1\\archivo.txt");
File carpetaB =new File("C:\\carpeta2\\archivo.txt");
inStream = new FileInputStream(carpetaA);
outStream = new FileOutputStream(carpetaB);
byte[] buffer = new byte[1024];
int length;
//copy the file content in bytes
while ((length = inStream.read(buffer)) > 0){
outStream.write(buffer, 0, length);
}
inStream.close();
outStream.close();
//delete the original file
afile.delete();
System.out.println(".ZIP is copied successful!");
}catch(IOException e){
e.printStackTrace();
}
}
}