所以我想知道是否有人知道如何,或者可以指向一些在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文件不起作用,对吧?
所有想法?
提前感谢您提供的任何帮助。
答案 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语句以确保其有效