【问题标题】:Java: Passing a String Variable in new File()Java:在 new File() 中传递字符串变量
【发布时间】:2019-10-07 21:27:30
【问题描述】:

我正在尝试读取名为 list.txt 的文件。我创建了一个名为 f 的文件并在其中传递了字符串“list.txt”。然后我创建了一个名为 absolute 的字符串,并在其中存储了 f 的绝对路径。然后我创建了另一个名为 file 的文件并在其中传递了字符串变量“absolute”。然而,这会导致FileNotFoundException。但是,如果我将绝对路径作为字符串传递,即不将其存储在变量中然后传递变量,它就可以工作。我正在尝试将变量字符串“absolute”传递给“new File()”并让它在没有得到FileNotFoundException 的情况下工作。

File f = new File("list.txt");
String absolute = f.getAbsolutePath();
File file = new File(absolute); //results in FileNotFoundException

【问题讨论】:

  • 您所描述的似乎不可能。如果您打印出绝对路径 (System.out.println(absolute)),它会打印出您期望的内容吗?
  • @Unimportant 是的,它打印出“list.txt”的绝对路径。
  • 您可以将其直接复制并粘贴到new File() 构造函数中,它可以工作吗?你能显示实际的绝对路径是什么吗?
  • 基本上,您所描述的内容没有意义,因此我们必须查看一些额外的代码(您尝试运行的实际代码)才能了解发生了什么。
  • 这是路径:“C:\Users\Tariq\AppData\Roaming\NetBeans\8.0.2\config\GF_4.1\domain1\config\list.txt”。我正在尝试读取文件的内容,将其存储到 ArrayList 中,然后将其打印出来(当我将绝对路径复制并粘贴到 new File() 构造函数中时,所有这些都有效)。顺便说一句,我在 Netbeans 中的 servlet 中这样做。

标签: java file filepath filenotfoundexception


【解决方案1】:

尝试打印“绝对”值,它是否包含预期的值?

文件构造函数( new File(absolute) ) 抛出 NullPointer 异常,仅当传递的值为 null 时。

如果无法访问所需的属性值,getAbsolutePath() 将引发安全异常。

先检查储值和访问权限。

【讨论】:

  • 虽然这可能是有用的信息,但我不知道它是否有资格作为答案。
猜你喜欢
  • 2012-04-25
  • 2021-06-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-15
  • 2012-09-10
  • 1970-01-01
  • 2023-03-08
相关资源
最近更新 更多