/**
*io流分为这几种:
* 1.字节流(InputStream/OutputStream)
*2.字符流(Reader/Writer)
*3.缓冲流 bufferInputStream/bufferOutputStream
*/
//字节流和字符流的不同之处,什么时候用字节流,什么时候用字符流
//所有的格式都可以使用字节流
//只有在记事本打开不乱吗的情况下使用字节流
//字符流和字节流的的不同还在于,字节流效率比较高,字符流效率低,使用字符流的时候要记得关闭流,或者提交刷新流
例:是用字符流的方式
try {FileReader fr = new FileReader("d:/a.txt");
byte[] b = new byte[1024];
int i = 0;
FileWriter fw = new FileWriter("a.txt");
while( (i = fr.read()) != -1){
fw.write(i);
fw.flush();//提交刷新流,这个耗费性能
}
//这是关闭流
fr.close();fw.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
}
System.out.println("完毕");
//字节流的方式
try {
File file = new File("D:/a.txt");
if(!file.exists()){//判断是否存在
file.createNewFile();//不存在则创建
}
FileOutputStream fileout = new FileOutputStream("D:/a.txt");
fileout.write(new byte[]{97,98,99,100,101,102,103,104});//给文件里面写数据
fileout.close();
FileInputStream in = new FileInputStream("D:/a.txt");//读取文件
int a = 0;
FileOutputStream out = new FileOutputStream("F:/a.txt");//输出文件内容
while((a = in.read())!=-1){
out.write(a);
out.flush();
}
in.close();
out.close();
System.out.println("复制完毕!!!");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}