一:基本IO流
1.字节输出流超类:OutputStream
作用:从java程序将数据写入到文件中,每次只操作文件中的1个字节
使用其子类,FileOutputStream操作文件
2.字节输入流超类:InputStream
作用:从文件中读取字节到程序,每次只读取一个字节
使用其子类FileInputStream读取文件
3.转换流:
OutputStreamWriter,字符流到字节流的桥梁
InputStreamReader,字节流到字符流的桥梁
4.字符输出流:FileWriter
5.字符输入流:FileReader
二:高效缓冲流
BufferedInputStream:高效字节输入流
BufferedOutputStream:高效字节输出流
BufferedWriter:高效字符缓冲流
BUfferedReader:高效字符输入流
1.字节流复制文件1.一次读取写入一个字节
FileInputStream fis = new FileInputStream(new File("C:\\"));
FileOutputStream fos = new FileOutputStream(new File("C:\\"));
int len = 0;
// 一次读取一个字节
while ((len = ()) != -1) {
(len);
();
}
();
();
2.字节流复制文件2.一次读取写入一个字节数组
FileInputStream fis = new FileInputStream(new File("C:\\JD_PHONE_LIST_UTF"));
FileOutputStream fos = new FileOutputStream(new File("C:\\"));
int len = 0;
byte[] bytes =new byte[1024];
// 一次读取一个字节
while ((len = (bytes)) != -1) {
(bytes,0,len);
();
}
();
();
3.字节流复制文件3.一次读取写入一个字节到缓冲流
FileInputStream fis = new FileInputStream(new File("C:\\JD_PHONE_LIST_UTF"));
BufferedInputStream bis = new BufferedInputStream(fis);
FileOutputStream fos = new FileOutputStream(new File("C:\\"));
BufferedOutputStream bos = new BufferedOutputStream(fos);
int len =0;
while((len = ())!=-1){
(len);
();
}
();
();
4.字节流复制文件4.一次读取写入一个字节数组到缓冲流
FileInputStream fis = new FileInputStream(new File("C:\\JD_PHONE_LIST_UTF"));
BufferedInputStream bis = new BufferedInputStream(fis);
FileOutputStream fos = new FileOutputStream(new File("C:\\"));
BufferedOutputStream bos = new BufferedOutputStream(fos);
int len =0;
byte[] bytes=new byte[1024];
while((len = (bytes))!=-1){
(bytes, 0, len);
();
}
();
();
5.高效字符缓冲流复制文件一次读取一行:
BufferedReader br = new BufferedReader(new FileReader(new File("C:\\JD_PHONE_LIST_UTF")));
BufferedWriter bw = new BufferedWriter(new FileWriter(new File("C:\\")));
String line ="";
while((line =())!=null){
(line);
();
();
}
();
();
6.高效字符缓冲流转换流复制文件一次读取一行:
//以UTF-8编码读取
BufferedReader bReader = new BufferedReader(new InputStreamReader(new FileInputStream("C:\\JD_PHONE_LIST_UTF"), "UTF-8"));
//以ISO-8859-1编码写出
BufferedWriter bWriter =new BufferedWriter(new OutputStreamWriter(new FileOutputStream("c:\\"), "ISO-8859-1"));
String line = null;
while((line =())!=null){
(line);
();
();
}
();
();