Копирование файлов .docx из одного каталога в другой - PullRequest
0 голосов
/ 10 августа 2011

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

Например, с этим кодом:

// Copies src file to dst file.
// If the dst file does not exist, it is created
void copy(File src, File dst) throws IOException {
    InputStream in = new FileInputStream(src);
    OutputStream out = new FileOutputStream(dst);

    // Transfer bytes from in to out
    byte[] buf = new byte[1024];
    int len;
    while ((len = in.read(buf)) > 0) {
        out.write(buf, 0, len);
    }
    in.close();
    out.close();
}

Это не будет работать для файла .docxЯ не думаю, верно?

Так что есть идеи?

Заранее спасибо за любую помощь, которая предлагается.

Ответы [ 3 ]

2 голосов
/ 10 августа 2011

Я бы использовал пакет java.nio:

FileChannel in = new FileInputStream( src ).getChannel();
FileChannel out = new FileOutputStream( dst ).getChannel();
out.transferFrom( in, 0, in.size() );
in.close();
out.close();

Однако оба метода должны работать независимо от типа файла File, так как они работают только с байтами.Просто давай, попробуй.

0 голосов
/ 19 июня 2019

Используйте File.Copy или File.Directory, что-то вроде этого

 var oldfile = "C\\folder";
 var Newfile = "C\\Newfolder";

if(File.Exsit(NewFile)){
File.Copy(oldfile, Newfile);
Message.Show("Yourmessage");
}
else{
Message.Show("If it fails");
}

Я добавил оператор If, чтобы убедиться, что он работает

0 голосов
/ 31 июля 2017

Копирование его символ за символом (8 бит) работает нормально.

void copy(File src, File dst) throws IOException {
    InputStream in = new FileInputStream(src);
    OutputStream out = new FileOutputStream(dst);

    int c;
    while ((c = in.read(buf)) > 0) {
        out.write(c);
    }
    in.close();
    out.close();
}
...