Java逐行读取文件
时间:2020-02-23 14:36:47 来源:igfitidea点击:
今天,我们将逐行研究不同的Java读取文件。
有时我们必须逐行读取文件到String,例如通过将每一行作为String传递来处理来调用方法。
Java逐行读取文件
我们可以使用不同的方式逐行读取文件。
让我们来看一些。
Java使用BufferedReader逐行读取文件
我们可以使用java.io.BufferedReader readLine()方法逐行读取文件到String。
到达文件末尾时,此方法返回null。
下面是一个简单的程序,显示了使用BufferedReader逐行读取Java文件的示例。
package com.theitroad.readfileslinebyline; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; public class ReadFileLineByLineUsingBufferedReader { public static void main(String[] args) { BufferedReader reader; try { reader = new BufferedReader(new FileReader( "/Users/hyman/Downloads/myfile.txt")); String line = reader.readLine(); while (line != null) { System.out.println(line); //read next line line = reader.readLine(); } reader.close(); } catch (IOException e) { e.printStackTrace(); } } }
Java使用Scanner逐行读取文件
我们可以使用Scanner类打开文件,然后逐行读取其内容。
以下是扫描仪示例,用于逐行读取文件并进行打印。
package com.theitroad.readfileslinebyline; import java.io.File; import java.io.FileNotFoundException; import java.util.Scanner; public class ReadFileLineByLineUsingScanner { public static void main(String[] args) { try { Scanner scanner = new Scanner(new File("/Users/hyman/Downloads/myfile.txt")); while (scanner.hasNextLine()) { System.out.println(scanner.nextLine()); } scanner.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } } }
Java使用文件逐行读取文件
java.nio.file.Files
是一个实用程序类,其中包含各种有用的方法。
文件readAllLines
方法可用于将所有文件行读入字符串列表。
package com.theitroad.readfileslinebyline; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; import java.util.List; public class ReadFileLineByLineUsingFiles { public static void main(String[] args) { try { List<String> allLines = Files.readAllLines(Paths.get("/Users/hyman/Downloads/myfile.txt")); for (String line : allLines) { System.out.println(line); } } catch (IOException e) { e.printStackTrace(); } } }
Java使用RandomAccessFile逐行读取文件
我们可以使用" RandomAccessFile"以读取模式打开文件,然后使用其" readLine"方法逐行读取文件。
package com.theitroad.readfileslinebyline; import java.io.IOException; import java.io.RandomAccessFile; public class ReadFileLineByLineUsingRandomAccessFile { public static void main(String[] args) { try { RandomAccessFile file = new RandomAccessFile("/Users/hyman/Downloads/myfile.txt", "r"); String str; while ((str = file.readLine()) != null) { System.out.println(str); } file.close(); } catch (IOException e) { e.printStackTrace(); } } }