io流讀取文件的幾種方式:大體能夠分爲兩種一個是按照字節讀取文件,多數用於讀取文本類文件,一種是按照字節讀取文件多數用來讀取音視頻文件,固然也能夠用來度寫文本類型的文件java
下面就是測試完整代碼:測試文件須要本身放置和更改app
package test; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.io.InputStreamReader; /** * @author dayu * @version 建立時間:2018年1月19日 上午10:13:54 * 測試io讀取文件的幾種方式 */ public class ReadFile { public static void main(String[] args) { //文件位置 String filepath = "D:\\d.txt"; /** 一次讀取全部內容 */ FileInputStreamReadFile(filepath); System.out.println("====================="); /** 以行爲單位讀取文件,經常使用於讀面向行的格式化文件 */ BufferedReaderReadFile(filepath); System.out.println("====================="); /** 以字節爲單位讀取文件,經常使用於讀二進制文件,如圖片、聲音、影像等文件。 */ ReadFileByByte(filepath); System.out.println("\n====================="); /** 以行爲單位讀取文件,經常使用於讀面向行的格式化文件 */ InputSteamReaderReadFile(filepath); System.out.println("\n====================="); } private static void InputSteamReaderReadFile(String filepath) { try { InputStreamReader sr = new InputStreamReader(new FileInputStream(new File(filepath))); int temp = 0; while ((temp = sr.read()) != -1) { System.out.print((char)temp); } sr.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } private static void ReadFileByByte(String filepath) { try { File file = new File(filepath); FileInputStream fis = new FileInputStream(file); int b = 0; while ((b = fis.read()) != -1) { System.out.print((char)b); } fis.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } private static void BufferedReaderReadFile(String filepath) { try { StringBuffer sb = new StringBuffer(); BufferedReader br = new BufferedReader(new FileReader(new File(filepath))); String readLine = ""; while ((readLine = br.readLine()) != null) { sb.append(readLine + "\n"); } br.close(); System.out.print(sb.toString()); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } private static void FileInputStreamReadFile(String filepath) { try { File file = new File(filepath); FileInputStream fis = new FileInputStream(file); long filelength = file.length(); byte[] bb = new byte[(int)filelength]; fis.read(bb); fis.close(); System.out.println(new String(bb)); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }