Java 将一个文件复制到另一处

[复制链接]
查看11 | 回复3 | 2016-4-14 13:48:48 | 显示全部楼层 |阅读模式
以下是我的源代码:
package a.b.c.filelast;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class FileCopy {
public void copy(String src, String dest){//**********
InputStream is=null;
OutputStream os=null;

try {
is=new BufferedInputStream(new FileInputStream(src));
os=new BufferedOutputStream(new FileOutputStream(dest));

byte[] b=new byte[256];
int len=0;
String str=null;
StringBuilder sb=new StringBuilder();
try {

while((len=is.read(b))!=-1){

os.write(b,0,len);



}

os.flush();
} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();
}finally{

if(is!=null){

try {

is.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(os!=null){

try {

os.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub

FileCopy test=new FileCopy();

test.copy("G:\\G盘寄存资料\\我的文档1\\音乐课堂.doc","G:\\G盘寄存资料");//++++++++++++++++++++++
}
}
//运行时报如下异常: java.io.FileNotFoundException: G:\G盘寄存资料 (拒绝访问。)
如果我将注释***********处public void copy(String src, String dest)改成public void copy(String src, File dest); 将注释+++++++++++++++++此处改为 test.copy("G:\\G盘寄存资料\\我的文档1\\音乐课堂.doc",new File("G:\\G盘寄存资料")); 程序也报同样的错误。
哪位朋友知道错在哪儿呀, 恳请赐教, 万分感谢!
test.copy("G:\\G盘寄存资料\\我的文档1\\音乐课堂.doc","G:\\G盘寄存资料\\音乐课堂.doc"); 像这样子确实是可以, 但是我是想将复制后的文件拷贝到某个路径下而不是某个如“音乐课堂.doc”这样的制定文件中。恳请大家指点迷津......

回复

使用道具 举报

千问 | 2016-4-14 13:48:48 | 显示全部楼层
test.copy("G:\\G盘寄存资料\\我的文档1\\音乐课堂.doc","G:\\G盘寄存资料"); 请注意上面的有个文件夹名字叫“G盘寄存资料”,你复制的文件后的新文件名也叫“G盘寄存资料”,这样名字重复了,所以就出错了。 可以把程序改成这样的话就行了: import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java...
回复

使用道具 举报

千问 | 2016-4-14 13:48:48 | 显示全部楼层
改为: test.copy("G:\\G盘寄存资料\\我的文档1\\音乐课堂.doc","G:\\G盘寄存资料\\音乐课堂.doc"); 就可以了...
回复

使用道具 举报

千问 | 2016-4-14 13:48:48 | 显示全部楼层
复制文件可以,但不能给你建路径,那些文件夹要自己建的...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行