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();
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章