要求:
复制src/step4/input/目录下的input.txt文件到src/step4/output/目录下,新文件命名为output.txt;
复制src/step4/input/目录下的input.jpg文件到src/step4/output/目录下,新文件命名为output.jpg。
package step4;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.*;
public class Task {
public void task() throws IOException{
//复制文件
File src_file=new File("src/step4/input/input.txt");
File target_file=new File("src/step4/output/output.txt");
target_file.createNewFile();
FileInputStream fis=new FileInputStream(src_file);
FileOutputStream fos=new FileOutputStream(target_file);
byte[] b=new byte[1024];
int len=0;
while((len=fis.read(b))!=-1){
fos.write(b,0,len);
}
fis.close();
fos.close();
fos.flush();
//复制图像,因为是非字符类型,所以使用字节流
FileInputStream in=new FileInputStream("src/step4/input/input.jpg");
File t2=new File("src/step4/output/output.jpg");
t2.createNewFile();
FileOutputStream out=new FileOutputStream(t2);
int len2=0;
byte[] b2=new byte[1024];
while((len2=in.read(b2))!=-1){
out.write(b2,0,len2);
}
in.close();
out.close();
out.flush();
}
}
读取字符文件:
使用BufferedReader读取字符文件的速度要比我们之前使用的字节流和FileReader快很多,示例代码:
BufferedReader bf = new BufferedReader(new FileReader("D://hello.txt"));
BufferedWriter writer = new BufferedWriter(new FileWriter("D://abc.txt"));
String str = "";
while( (str = bf.readLine()) != null){
writer.write(str);
}
bf.close();
writer.close();