在這個實(shí)例中,我們將學(xué)習(xí)使用Java中的各種類來讀取文件的內(nèi)容。
要理解此示例,您應(yīng)該了解以下Java編程主題:
import java.io.BufferedInputStream; import java.io.FileInputStream; class Main { public static void main(String[] args) { try { //創(chuàng)建FileInputStream FileInputStream file = new FileInputStream("input.txt"); //創(chuàng)建BufferedInputStream BufferedInputStream input = new BufferedInputStream(file); //從文件讀取第一個字節(jié) int i = input .read(); while (i != -1) { System.out.print((char) i); // 從文件中讀取下一個字節(jié) i = input.read(); } input.close(); } catch (Exception e) { e.getStackTrace(); } } }
輸出結(jié)果
First Line Second Line Third Line Fourth Line Fifth Line
在上面的示例中,我們使用BufferedInputStreamClass從名為input.txt的文件中逐行讀取。
注意:為了運(yùn)行此文件,您應(yīng)該在當(dāng)前工作目錄中有一個名為input.txt的文件。
import java.io.FileReader; import java.io.BufferedReader; class Main { public static void main(String[] args) { //創(chuàng)建一個字符數(shù)組 char[] array = new char[100]; try { // 創(chuàng)建一個FileReader FileReader file = new FileReader("input.txt"); //創(chuàng)建BufferedReader BufferedReader input = new BufferedReader(file); //讀取字符 input.read(array); System.out.println("文件中的數(shù)據(jù): "); System.out.println(array); //關(guān)閉閱讀器 input.close(); } catch(Exception e) { e.getStackTrace(); } } }
輸出結(jié)果
文件中的數(shù)據(jù): First Line Second Line Third Line Fourth Line Fifth Line
在上面的示例中,我們使用BufferedReader類讀取名為input.txt的文件。
import java.io.File; import java.util.Scanner; class Main { public static void main(String[] args) { try { //創(chuàng)建一個新的文件對象 File file = new File("input.txt"); //創(chuàng)建一個與該文件關(guān)聯(lián)掃描器對象 Scanner sc = new Scanner(file); //讀取文件中的每一行并將其打印出來 System.out.println("使用掃描器讀取文件:"); while(sc.hasNextLine()) { System.out.println(sc.nextLine()); } //關(guān)閉掃描器 sc.close(); } catch (Exception e) { e.getStackTrace(); } } }
輸出結(jié)果
使用掃描器讀取文件: First Line Second Line Third Line Fourth Line Fifth Line
在上面的示例中,我們創(chuàng)建了一個名為file的File類的對象。 然后,我們創(chuàng)建了一個與該文件相關(guān)聯(lián)的Scanner對象。
在這里,我們使用了掃描器方法
hasNextLine() - 如果文件中存在下一行,則返回true
nextLine() - 從文件返回整行
要了解有關(guān)掃描器的更多信息,請?jiān)L問Java Scanner。