gpt4 book ai didi

java - 在 Java 中读取文件(使用 IDE)

转载 作者:行者123 更新时间:2023-11-29 06:14:26 26 4
gpt4 key购买 nike

我试图编写一段 Java 代码来读取文件中的每一行并将其添加到 Arraylist。这是我的代码:

// try catch block removed for clarity.
file = new TextFileIn("names.txt");
String line = null;
while ((line = file.readLine()) != null) {
list.add(line);
}

names.txt 与我的代码位于同一个包文件夹中。我使用的 IDE 是 Eclipse。然而,当我运行代码时,我得到了一个 FileNotFoundExceptionTextFileIn 类来自 http://www.javaranch.com/doc/com/javaranch/common/TextFileIn.html

我怎样才能找到要查找的文件?

最佳答案

访问文件时依赖于当前工作目录。工作目录取决于您启动应用程序的方式。在 Eclipse 中,它通常是项目根文件夹。在命令行中,它是当前打开的目录。您无法从 Java 代码内部对此进行控制,因此对于本应属于应用程序本身的文件而言,这被认为是一种糟糕的做法。

该文件显然与正在运行的代码在同一个包中,因此它已经在类路径中,然后您可以(并且应该)直接从类路径中获取它。

InputStream input = getClass().getResourceAsStream("names.txt");
BufferedReader reader = new BufferedReader(new InputStreamReader(input, "UTF-8"));
String line = null;

while ((line = reader.readLine()) != null) {
// ...
}

如果您在 static 上下文中调用它,则将 getClass() 替换为 YourClassName.class,其中 YourClassName 是此代码所在的类的名称。

另见:

关于java - 在 Java 中读取文件(使用 IDE),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5612300/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com