java 如何读取txt文件

java 如何读取txt文件

在 Java 中读取 txt 文件,主要有以下几种方法:

一、使用JAVA.IO包中的BufferedReader类

二、使用JAVA.IO包中的Scanner类

三、使用JAVA.NIO包中的Files类

四、使用Apache的commons-io库

每种方法都有其特点和适用场景,下面将一一进行详细介绍。

一、使用JAVA.IO包中的BufferedReader类

首先,我们需要创建一个FileReader对象,传递要读取的文件的路径。然后,我们创建一个BufferedReader对象,将刚刚创建的FileReader对象作为参数。最后,我们在一个循环中调用BufferedReader的readLine()方法来一行一行地读取文件。

try {

File file = new File("file.txt");

FileReader fr = new FileReader(file);

BufferedReader br = new BufferedReader(fr);

String line;

while((line = br.readLine()) != null){

System.out.println(line);

}

br.close();

fr.close();

} catch(IOException e){

e.printStackTrace();

}

二、使用JAVA.IO包中的Scanner类

我们可以创建一个File对象,然后将其传递给Scanner的构造函数,然后我们可以使用hasNextLine()和nextLine()方法来读取文件的内容。

try {

File file = new File("file.txt");

Scanner sc = new Scanner(file);

while (sc.hasNextLine()){

System.out.println(sc.nextLine());

}

} catch (FileNotFoundException e) {

e.printStackTrace();

}

三、使用JAVA.NIO包中的Files类

Java 7引入了一个新的抽象类Files,它包含的静态方法可以用来读取文件。这是最简洁和现代的方法,但它只适用于较小的文件,因为所有的文件内容都会一次性读入内存。

try {

List<String> lines = Files.readAllLines(Paths.get("file.txt"), StandardCharsets.UTF_8);

for(String line : lines){

System.out.println(line);

}

} catch (IOException e) {

e.printStackTrace();

}

四、使用Apache的commons-io库

Apache的commons-io库提供了一种简单的方法来读取文件。这种方法的优点是代码简洁,但同样的,它也只适用于较小的文件。

try {

List<String> lines = FileUtils.readLines(new File("file.txt"), "UTF-8");

for(String line : lines){

System.out.println(line);

}

} catch (IOException e) {

e.printStackTrace();

}

在选择使用哪种方法时,需要考虑你的具体需求。如果你需要处理的文件很大,那么使用BufferedReader或Scanner类会是更好的选择。如果你处理的文件不大,那么使用Files类或commons-io库会让你的代码更简洁。

相关问答FAQs:

Q: 如何使用Java读取txt文件?

A: Java提供了多种方法来读取txt文件,以下是一种常用的方法:

  1. 使用FileReaderBufferedReader类来读取txt文件,具体步骤如下:

    • 创建一个File对象,指定要读取的txt文件的路径。
    • 创建一个FileReader对象,将File对象作为参数传入。
    • 创建一个BufferedReader对象,将FileReader对象作为参数传入。
    • 使用BufferedReaderreadLine()方法逐行读取txt文件的内容。

    示例代码如下:

    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileReader;
    import java.io.IOException;
    
    public class ReadTxtFile {
        public static void main(String[] args) {
            try {
                File file = new File("path/to/your/txt/file.txt");
                FileReader fileReader = new FileReader(file);
                BufferedReader bufferedReader = new BufferedReader(fileReader);
                String line;
                while ((line = bufferedReader.readLine()) != null) {
                    System.out.println(line);
                }
                bufferedReader.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    

    注意:在代码中,将"path/to/your/txt/file.txt"替换为你要读取的txt文件的实际路径。

  2. 使用Java 7的新特性Files类来读取txt文件,具体步骤如下:

    • 使用FilesreadAllLines()方法读取整个txt文件的内容,并将其存储在一个List对象中。

    示例代码如下:

    import java.io.IOException;
    import java.nio.file.Files;
    import java.nio.file.Path;
    import java.nio.file.Paths;
    import java.util.List;
    
    public class ReadTxtFile {
        public static void main(String[] args) {
            try {
                Path path = Paths.get("path/to/your/txt/file.txt");
                List<String> lines = Files.readAllLines(path);
                for (String line : lines) {
                    System.out.println(line);
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    

    注意:同样地,在代码中,将"path/to/your/txt/file.txt"替换为你要读取的txt文件的实际路径。

文章包含AI辅助创作,作者:Edit1,如若转载,请注明出处:https://docs.pingcode.com/baike/215922

(0)
Edit1Edit1
免费注册
电话联系

4008001024

微信咨询
微信咨询
返回顶部