我已经使用filesystem创建了一个.zip文件夹(压缩文件夹),该文件系统存在于java.nio软件包中,JDK 1.7中存在。
URI zipUri = new URI("jar:" + fileUri.getScheme(), fileUri.getPath(), null);
FileSystem zipfs = FileSystems.newFileSystem(zipUri, env);
现在,我想将zpipted文件夹从一个目录移动到另一个目录,但是我找不到任何方法来找到zpipted文件夹,因为它是一个文件系统,并且没有任何方法可以移动它。
files.move()仅适用于文件或目录,而不适用于Filesystem创建的Zipped文件夹。
任何人都可以将我指向正确的方向吗?
如何将文件移至Java中的另一个目录
java.io.file不包含任何准备好的移动文件方法,但是您可以使用以下两个替代方案进行解决:
file.renameto()。复制到新文件并删除原始文件。在以下两个示例中,您将文件" c: carteta1 archivo.zip"移动到另一个目录到另一个目录,并带有相同的文件名称" c: carteta2 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();
}
}
}