找不到文本文件,无法找出其路径



我正在运行一个java应用程序,需要读取文本文件并将其保存为字符串,但我一直得到一个NoSuchFileException。文本文件位于src旁边名为assets的文件夹中。

static String readFile(String path, Charset encoding) throws IOException {
    byte[] encoded = Files.readAllBytes(Paths.get(path));
    return new String(encoded, encoding);
}

这个方法读取我在这里找到的文件。

try {
    string = readFile("test.txt",Charset.defaultCharset());
} catch (IOException e) {
    e.printStackTrace();
}

我试过"/assets/test.txt"和其他的变体也无济于事。

如果从Eclipse中执行Java程序,典型的运行配置将把项目的基本目录作为Java进程的当前工作目录。因此,您需要使用基于该目录的相对路径(assets/test.txtsrc/main/assets/test.txt或类似)。您也可以使用完整路径(例如:/somewhere/workspace/project/assets/test.txt)。

您总是可以使用System.out.println("CWD=" + new File(".").getAbsolutePath());来查询Java运行时认为它是从哪个目录启动的

直接使用(不带斜杠):

try {
  string = readFile("assets/test.txt",Charset.defaultCharset());
} catch (IOException e) {
  e.printStackTrace();
}

获取相对于项目根的路径。

相关内容

  • 没有找到相关文章

最新更新