IO流的常用方法(二)

缓冲流

作用:
用缓冲区来完成数据的IO操作
提高读写效率

BufferedInputStream(字节缓冲输入流)

BufferedInputStream类读取文本内容
第一种读取方法

//创建FileInputStream对象
		FileInputStream fileInputStream = new FileInputStream("src/a.txt");

	    //创建BufferedInputStream对象
        BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream);
        
        //通过read方法读取文件内容
	    byte[] b =new byte[1024];
	    int i =0;
	    String str ="";
	    while((i=bufferedInputStream.read(b))!=-1) {
	    	str+=new String(b,0,i);
	    } 
         System.out.println(str);	    
	}

第二种读取方法

	//创建FileInputStream对象
		FileInputStream fileInputStream = new FileInputStream("src/a.txt");

	    //创建BufferedInputStream对象
        BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream);
        
        //通过read方法读取文件内容
	    byte[] b =new byte[1024];
	    int i =0;
	    String str ="";
	    while((i=bufferedInputStream.read())!=-1) {
	        str+=(char)i;	
	    }     
         System.out.println(str);	    
	}

BuffereOutputStream(字节缓冲输出流)

BuffereOutputStream写入文件内容
不追加,直接覆盖

//创建FileOutputStream对象
		FileOutputStream fileOutputStream = new FileOutputStream("src/a.txt");
		//创建BufferedOutputStream对象
		BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(fileOutputStream);
		//通过write()方法写入文件内容
		bufferedOutputStream.write("浩哥好帅".getBytes());
		//刷新
		bufferedOutputStream.flush();
		//关流
		bufferedOutputStream.close();
	

追加,不覆盖,在原来的基础上添加内容

         //创建FileOutputStream对象
		//创建该对象时添加一个参数true,该参数表示追加
		FileOutputStream fileOutputStream = new FileOutputStream("src/a.txt",true);
		//其他代码同上
		

BufferedReader(字符缓冲输入流)

BufferedReader类读取磁盘文件内容

       //这个是bufferedReader独有的方法,还有一些读取方法与fileInputStream相同
        //创建FileReader对象
     	FileReader fileReader = new FileReader("src/a.txt");
		//创建BufferedReader对象
     	BufferedReader bufferedReader = new BufferedReader(fileReader);
     	//通过read方法读取文件内容
	    String readLine = bufferedReader.readLine();
	    System.out.println(readLine);

BufferedWriter(字符缓冲输出流)

不追加

//创建FileWriter对象
         FileWriter fileWriter = new FileWriter("src/a.txt");
		//创建BufferedWriter对象
         BufferedWriter bw = new BufferedWriter(fileWriter);
        //通过write方法写入文件内容
         bw.write("aaaaaaaaaaaxxxxxxxxxxxxxcccccccccc");
         bw.flush();
         bw.close();

追加

  //创建该对象时添加一个参数true,该参数表示追加
   FileWriter fileWriter = new FileWriter("src/a.txt",true);
   	//其他代码同上

转换流

作用
能够把字节流转换成字符流
能够对字符流进行转码的操作

转换处理流: 是将字节流按照指定字符编码进行转换的的处理流

InputStreamReader(转换输入流)

	//创建FileInputStream对象
		FileInputStream fis = new FileInputStream("src/a.txt");

		//创建InputStreamReader对象
        InputStreamReader inputStreamReader = new InputStreamReader(fis,"GBK");
        
        int i=0;
        String str ="";
        while((i=inputStreamReader.read())!=-1) {
        	str+=(char)i;
        }
		System.out.println(str);
		
	}

OutputStreamWriter(转换输出流)

不追加

        //创建FileOutputStream对象
		FileOutputStream fos = new FileOutputStream("src/a.txt");
	    //创建OutputWriter对象
		OutputStreamWriter ops = new  OutputStreamWriter(fos);
		
	    //通过write写入文本内容
		ops.write("浩哥好帅啊啊");
	    //必须刷新之后才会有结果
		ops.flush();

追加

 //创建该对象时添加一个参数true,该参数表示追加
FileOutputStream fos = new FileOutputStream("src/a.txt",true);
//其他代码同上

打印流

作用: 方便输出流打印数据值

PrintStream(字节打印流)

输出磁盘文件内容

       //创建PrintStream对象
		PrintStream printStream = new PrintStream("src/a.txt");
		//通过print方法写入文件内容
		printStream.print("浩哥真的222222222222很帅");
		printStream.print("11111111111111浩哥真的很帅");
		//刷新
		printStream.flush();
		//关流
		printStream.close();
	}
	

PrintWriter(字符打印流)

PrintWriter类输出磁盘文件

	//创建PrintWriter对象
		PrintWriter pw = new PrintWriter("src/a.txt");
		//通过print方法写入文件内容
		pw.print("-----------------------");
		pw.print("+++++++++++++++++++++++");
		//刷新
		pw.flush();
		//关流
		pw.close();
posted @ 2020-02-03 15:41  Nieo  阅读(148)  评论(0)    收藏  举报