实现一个IO流的文件复制,想必是很简单的,有很多种方法可供我们使用
1、可以采用一个字节一个字节的方式,像蚂蚁搬家一样的复制
FileReader fr=new FileReader(“c:\\Intel\\a.jpg”);
FileWriter fw=new FileWriter(“c:\\Inter\\b.jpg”);
int len;
while((len=fr.read())!=-1){
fw.write(len);
fw.flush();
}
fw.close();
fr.close();
2、可以采用一次复制一个数组的方式,像开着一个车搬家一样的复制
FileReader fr=new FileReader(“c:\\Intel\\a.jpg”);
FileWriter fw=new FileWriter(“c:\\Inter\\b.jpg”);
byte[ ] arr=new byte[1024];
int len=-1;
while((len=fr.read(arr))!=-1){
fw.write(arr,0,len);
fw.flush();
}
fw.close();
fr.close();
3、也可以一次读取一行的形式进行复制,可以加上BUFF(就像游戏中的buff一样,让效率提高)
BufferedReader bur=new BufferedReader(new FileReader(“c:\\Intel\\a.jpg”));
BufferedWriter buw=new BufferedWriter(new FileWriter(“c:\\Inter\\b.jpg”));
String line;
while((line=bur.readLine())!=null){
buw.writeLine(line);
buw.flush();
}
buw.close();
bur.close();
但是这里有个小问题,加入我要是像一个文件夹中复制一个文件,这时候应该怎么写呢?还是像上面一样直接写地址吗?
不妨可以试一下,结果肯定是不行的,因为这里会出现NoSuchFieldException,当你直接传入一个文件夹路径的时候,系统会直接报错
这时候可以怎么做呢?以上面路径为例,此时文件名为a.jpg, 复制该文件到C盘的Myfile文件夹下,我们就可以传入”c:\\Myfile\\”+”a.jpg” ,这样在不改变源文件名的情况下,复制指定文件到某个文件夹下。
1、可以采用一个字节一个字节的方式,像蚂蚁搬家一样的复制
FileReader fr=new FileReader(“c:\\Intel\\a.jpg”);
FileWriter fw=new FileWriter(“c:\\Inter\\b.jpg”);
int len;
while((len=fr.read())!=-1){
fw.write(len);
fw.flush();
}
fw.close();
fr.close();
2、可以采用一次复制一个数组的方式,像开着一个车搬家一样的复制
FileReader fr=new FileReader(“c:\\Intel\\a.jpg”);
FileWriter fw=new FileWriter(“c:\\Inter\\b.jpg”);
byte[ ] arr=new byte[1024];
int len=-1;
while((len=fr.read(arr))!=-1){
fw.write(arr,0,len);
fw.flush();
}
fw.close();
fr.close();
3、也可以一次读取一行的形式进行复制,可以加上BUFF(就像游戏中的buff一样,让效率提高)
BufferedReader bur=new BufferedReader(new FileReader(“c:\\Intel\\a.jpg”));
BufferedWriter buw=new BufferedWriter(new FileWriter(“c:\\Inter\\b.jpg”));
String line;
while((line=bur.readLine())!=null){
buw.writeLine(line);
buw.flush();
}
buw.close();
bur.close();
但是这里有个小问题,加入我要是像一个文件夹中复制一个文件,这时候应该怎么写呢?还是像上面一样直接写地址吗?
不妨可以试一下,结果肯定是不行的,因为这里会出现NoSuchFieldException,当你直接传入一个文件夹路径的时候,系统会直接报错
这时候可以怎么做呢?以上面路径为例,此时文件名为a.jpg, 复制该文件到C盘的Myfile文件夹下,我们就可以传入”c:\\Myfile\\”+”a.jpg” ,这样在不改变源文件名的情况下,复制指定文件到某个文件夹下。