如何使用Java.nio文件系统创建的.zip文件夹



我已经使用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();
        }
    }
}

最新更新