版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lsf921016/article/details/61615582
字节流:用来操作字节的输入输出,如网络传输,系统输入输出,媒体流对象
流操作的四个明确:
1.明确源和目的:
源:inputStream reader
目的:outputStream writer
2.明确数据是否是纯文本:
是:reader writer
否:inputStream outputStream
3.明确设备:
硬盘:File
键盘:System.in
内存:数组
网络:socket流
4.是否需要缓冲和转换:
缓冲:Buffer
转换:OnputStreamReader ,OutputStreamWriter
3. 实例:
1 从键盘读入,打印到控制台:
BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bufw = new BufferedWriter(new OutputStreamWriter(System.out));
String line = null;
while ((line = bufr.readLine()) != null) {
bufw.write(line);
bufw.flush();
}
bufr.close();
bufw.close();
2.将一组数字排序,并输出到文件(从内存到磁盘)
//获得一个随机数组成的数组
Random random=new Random();//上限100
int[] arr=new int[100];
for(int i=0;i<100;++i){
arr[i]=random.nextInt(100);
}
Arrays.sort(arr);
//直接写入文件
BufferedWriter bufw=new BufferedWriter(new FileWriter("E:\\javaStudy\\src\\javaIO\\aFile"));
bufw.write(Arrays.toString(arr));
bufw.flush();
bufw.close();
3. 读入一个文件,输出到控制台
//FileReader 是OutputStreamRead的子类,也具有将字节流转换为字符流的功能
BufferedReader bufr=new BufferedReader(new FileReader("E:\\javaStudy\\src\\javaIO\\when you are old"));
BufferedWriter bufw=new BufferedWriter(new PrintWriter(System.out));//将字符流转换为标准输出流(即字节流);
String line=null;
while ((line=bufr.readLine())!=null){
bufw.write(line);
bufw.flush();
}
4.从键盘读入信息,输出到文件
BufferedReader bufr=new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bufw=new BufferedWriter(new FileWriter("E:\\javaStudy\\src\\javaIO\\aFile"));
String line=null;
while((line=bufr.readLine())!=null){
bufw.write(line);
bufw.flush();
}
bufr.close();
bufw.close();