将.docx文件从一个目录复制到另一个目录

时间:2011-08-10 17:33:49

标签: java file-io directory copy docx

所以我想知道是否有人知道如何,或者可以指向一些在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 个答案:

答案 0 :(得分:2)

我会使用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的文件类型如何,这两种方法都应该起作用,因为它们只使用字节。请继续吧。

答案 1 :(得分:0)

逐字符(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();
}

答案 2 :(得分:0)

使用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语句以确保其有效