我根据所学的知识,将Java IO流进行简单的总结,
目录
一:IO流
1.IO流的概念
2.IO流中流的分类
3.IO流的作用
二:字节流
1.字节流的概念
2.字节流的分类
3.字符缓冲流
4.代码演示
三:字符流
1.字符流
2.字符流的分类
(a)字符输入流
(b)字符输出流
3.字符缓冲流
(a)字符输入缓冲流
(b)字符输出缓冲流
4.代码演示
四:转换流
1.字节与字符转换流
(a)字节与字符转换输入流
(b)字节与字符转换输出流
2.代码演示
IO流
1.概念:IO流业被称为输入输出流,杯使用来读取数据.I即是Input,是将数据从磁盘读取到内存的操作,O即是Output,是将数据从内存输出到磁盘中.
2.
字节流 | |
字符流 | |
Java IO流 | |
缓冲流 | |
转换流 |
3.IO流的作用是为即将进行数据读取的数据源与输出数据的目的地之间建立一个便捷的通道.
二;字节流
1.字节流可分为字节输入流(FileInputStream),字节输出流(FileOutputStream).但大多数时候都不单独进行编码,为了提高读取数据与输出数据到目的地的效率,通常与缓冲流配合在一起使用.
2.字节缓冲流,实在输入与输出之间创建一个缓冲区,从而加快数据的拷贝效率.
代码如下:
long time01=System.currentTimeMillis();
copyByte("d:/a.恩格斯","d:/a.春雨");
long time02=System.currentTimeMillis();
System.out.println("花费的时间为"+(time02-time01));
}
public static void copyByte(String recourse,String desttion) {
try(//文件字节输入流,文件字节输出流
FileInputStream fis=new FileInputStream(recourse);
FileOutputStream fos=new FileOutputStream(desttion)){
//缓冲区
byte [] buffer=new byte[64];
int str=0;
while ((str=fis.read(buffer))!=-1){
fos.write((char)str);
}
fos.flush();
}catch (IOException e){
e.printStackTrace();
}
三:字符流.字符流有字符输入流(FileReader),字符输出流(FileWriter),字符输入缓冲流(BufferedReader),字符输出缓冲流(BufferedWriter).
代码如下:
//字符输入流,字符输出流
try(FileReader fr=new FileReader("d:/a.恩格斯");
FileWriter fw=new FileWriter("d:/a.云林")){
int str=0;
while((str=fr.read())!=-1){
fw.write((char)str);
}
fw.flush();
}catch (IOException e){
e.printStackTrace();
}
//字符缓冲输入流,字符缓冲输出流
try (BufferedReader wr=new BufferedReader(new FileReader("d:/a.恩格斯"));
BufferedWriter bw=new BufferedWriter(new FileWriter("d:/a.秋叶"))
){
String temp="";
int i=1;
while ((temp=wr.readLine())!=null){
bw.write((char)temp);
bw.newLine();
}
bw.flush();
}catch (IOException e){
e.printStackTrace();
}
四;转换流.有字节与字符输入转换流(InputStreamReader),字符与字节输出转换流(OutputStreamWriter),为了提高效率,转换流通常与缓冲流一起使用.
代码如下:
public static void main(String[] args) {
try(//字符输入缓冲流,字符与字节转换流,文件字节输入流
BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream("d:/a.恩格斯"),"GBK"));
//字符输出缓冲流,字节与字符转换流,文件字节输入流
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream("d:/冬雪")))
){
String temp="";
int i=1;//添加序号
while ((temp=br.readLine())!=null){
bw.write(i+"."+temp);
//换行
bw.newLine();
i++;
}
bw.flush();
}catch (IOException e){
e.printStackTrace();
}
这知识有关我个人的理解,若有不妥之处请多多包涵.