java - 如何扫描同一个包内的txt?

标签 java java.util.scanner filenotfoundexception

我正在尝试在 txt 上使用 Java.util.scanner 来解析它。我在尝试扫描文件时遇到问题,因为找不到该文件。

我的类与txt文件在同一个包中。那么您能告诉我如何扫描该类的同一包中的文件吗?

public class PhoneBook {
  private ArrayList<PhoneBookEntry>[] buckets;
  public void load() {
    try {
      Scanner scan = new Scanner(new File("phone.txt"));
    } catch (FileNotFoundException e) {
      System.out.println("File Not Found"); 
    } 
  } 
  public static void main(String[]args) {
    PhoneBook phone = new PhoneBook(); 
    phone.load(); 
  } 
} 

这是错误的 StackTrace

java.io.FileNotFoundException: phone.txt (The system cannot find the file specified) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.<init>(Unknown Source) at java.util.Scanner.<init>(Unknown Source) at HashSet.PhoneBook.load(PhoneBook.java:13) at HashSet.PhoneBook.main(PhoneBook.java:23)

最佳答案

将文件放在类路径的根目录中(编译后,您的文件应出现在生成 .class 文件的根文件夹中)并使用以下代码语法:

    InputStream is = getClass().getClassLoader().getResourceAsStream("phone.txt");
    Scanner fileScanner = new Scanner(is);

关于java - 如何扫描同一个包内的txt?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13711156/

相关文章:

java - 使用 Java 中的 onClickListener 继续循环迭代

java - 在 android 中从 news.bitcoin.com 获取 RSS feed 时出现文件未找到异常

java - 如何使用 jax-ws commons 配置 jax-ws 以与 Spring 一起使用?

java - 如何在我的程序中使用 try/catch/finally 过滤扫描仪输入错误?

java - 在 Java 中,我应该为不同类型的输入使用不同的 Scanner 实例吗?

java - 如何分别读取字符和整数

java.io.FileNotFoundException : File is not a normal file. 露天

c# - 使用网络/文件系统调用时防止异常(预防性维护)?

java - AspectJ - 加载时间编织在 java.net.Socket 上的麻烦

java - 运行以下代码时,UnsupportedOperationException 会在 .remove() 方法中抛出