首页 > 解决方案 > 如何在 Java Eclipse 中读取文本文件?

问题描述

我是一个非常新手的程序员,试图在 Java Eclipse 中读取文本文件。

这是我的代码:

 package readFromfile;

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class justDo {
  public static void main(String[] args) throws FileNotFoundException {

    System.out.println(System.getProperty("user.dir"));
    File file = new File(System.getProperty("user.dir") + 
 "/src/report.txt");


      Scanner hemp = new Scanner(file);
      System.out.println(hemp);



  }
}

我没有读取文本文件并在控制台中显示文件的内容,而是得到了这个:

C:\Users\Vanessa\eclipse-workspace\readFromfile
java.util.Scanner[delimiters=\p{javaWhitespace}+][position=0][match 
valid=false][need input=false][source closed=false][skipped=false][group 
separator=\,][decimal separator=\.][positive prefix=][negative prefix=\Q- 
\E][positive suffix=][negative suffix=][NaN string=\QNaN\E][infinity 
string=\Q?\E]

有人可以解释我为什么得到这个并解释如何在 Java Eclipse 中正确读取文本文件吗?请帮忙。提前非常感谢大家。

标签: javaeclipsefiletext

解决方案


您正在打印Scanner对象,而不是File读取。为此,您必须遍历Scanner内容,这是一个示例:

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) throws FileNotFoundException {
        System.out.println(System.getProperty("user.dir"));
        File file = new File(System.getProperty("user.dir") + "/src/report.txt");
        Scanner hemp = new Scanner(file);
        while (hemp.hasNextLine()) {
            System.out.println(hemp.nextLine());
        }
    }
}

如果您想了解更多关于Scanner函数的信息,您可以查看 API 文档:


推荐阅读