Как переместить.zip папки, созданные с использованием Java.NIO FileSystem

Я создал папку.zip (сжатую папку), используя FileSystem, которая присутствует в пакете Java.nio, который присутствует в JDK 1.7 и далее.

        URI zipUri = new URI("jar:" + fileUri.getScheme(), fileUri.getPath(), null);
        FileSystem zipfs = FileSystems.newFileSystem(zipUri, env);

Теперь я хочу переместить заархивированные папки из одного каталога в другой, но я не смог найти какой-либо способ найти заархивированные папки, потому что это файловая система, и нет способа ее переместить.

Files.move () работает только с файлом или каталогом, но не с заархивированными папками, созданными из FileSystem.

Может кто-нибудь указать мне в правильном направлении, пожалуйста?

1 ответ

Как переместить файл в другой каталог в 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();
        }
    }
}
Другие вопросы по тегам