使用FileOutput复制txt文件。
代码如下:
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class FileOutputTest {
public static void main(String[] args) {
FileInputStream fis = null;
FileOutputStream fos = null;
try{
fis = new FileInputStream("D:\\idea\\loafonajob\\untitled\\src\\xm10\\hello.txt");
fos = new FileOutputStream("D:\\idea\\loafonajob\\untitled\\src\\xm10\\hello1.txt");
byte[] buffer = new byte[5];
int len;
while((len=fis.read(buffer))!=-1){
fos.write(buffer,0,len);
}
}catch(IOException e){
e.printStackTrace();
}finally {
if(fos!=null){
try{
fos.close();
}catch (IOException e){
e.printStackTrace();
}
}
if(fis!=null){
try{
fis.close();
}catch(IOException e){
e.printStackTrace();
}
}
}
}
}
原hello.txt文件:
原hello1.txt文件为空。
运行后的hello1.txt文件:
使用FileWriter复制txt文件
代码如下:
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class FileWriterTest {
public static void main(String[] args) {
FileReader fr=null;
FileWriter fw=null;
try{
fr=new FileReader("D:\\idea\\loafonajob\\untitled\\src\\xm10\\hello.txt");
fw=new FileWriter("D:\\idea\\loafonajob\\untitled\\src\\xm10\\hello1.txt");
char[] cbuf=new char[5];
int len;
long start=System.nanoTime();
while((len=fr.read(cbuf))!=-1){
fw.write(cbuf,0,len);
System.out.println(cbuf);
}
long end=System.nanoTime();
System.out.println("文件流复制文件消耗时间为:"+(end-start));
}catch(Exception e){
e.printStackTrace();
}finally{
try{
if(fw!=null)
fw.close();
}catch (IOException e){
e.printStackTrace();
}finally {
try{
if(fr!=null)
fr.close();
}catch (IOException e){
e.printStackTrace();
}
}
}
}
}
可以自行调节数组长度,一般数组越长,复制速度越快。