如何读取文本文件的相对路径
Posted
技术标签:
【中文标题】如何读取文本文件的相对路径【英文标题】:how to read text file relative path 【发布时间】:2013-11-21 08:22:24 【问题描述】:我在这里和那里阅读了源代码,但没有使以下代码正常工作。基本上,我希望从文件夹“src”中读取一个名为“Administrator”的文本文件。我需要一个相对路径,因为这个项目可能会转移给另一个人。请耐心等待我。
public void staffExists () throws IOException
//http://***.com/questions/2788080/reading-a-text-file-in-java
BufferedReader reader = new BufferedReader(new FileReader(getClass().getResourceAsStream ("/DBTextFiles/Administrator.txt")));
try
String line = null;
while ((line = reader.readLine()) != null)
if (!(line.startsWith("*")))
System.out.println(line);
catch (IOException ex)
ex.printStackTrace();
finally
reader.close();
【问题讨论】:
How to read text file from relative path in a project? 的可能重复项 @Dooby Inc:查看了建议的网址。但我无法让它继续工作,请指导我。 @Little Child:我得到了这个持久性错误io.filenotfoundexception 方法签名下的第一行应该放在 try 块中,没有其他内容会引发异常。 在路径规范中使用双斜杠。 "//DBTextFiles//Administrator.txt" 【参考方案1】:现在我明白了,这里和那里的一些答案确实有助于我实现目标。对我的代码做了一个简短的编辑,它起作用了。希望它也能帮助一些可怜的灵魂。
String filePath = new File("").getAbsolutePath();
System.out.println (filePath);
//http://***.com/questions/2788080/reading-a-text-file-in-java
//http://***.com/questions/19874066/how-to-read-text-file-relative-path
BufferedReader reader = new BufferedReader(new FileReader(filePath + "/src/DBTextFiles/Administrator.txt"));
try
String line = null;
while ((line = reader.readLine()) != null)
if (!(line.startsWith("*")))
System.out.println(line);
catch (IOException ex)
ex.printStackTrace();
finally
reader.close();
【讨论】:
【参考方案2】:在几乎所有情况下,您都应该使用可移植的正斜杠"/"."
在任何情况下,您都应该使用接受 File(父)和 String(文件名)的 File 构造函数或使用 System.getProperty("file.separator").
【讨论】:
【参考方案3】:这是不正确的:
new FileReader(getClass().getResourceAsStream ("/DBTextFiles/Administrator.txt"))
你想要:
new InputStreamReader(getClass().getResourceAsStream ("/DBTextFiles/Administrator.txt"))
【讨论】:
很高兴解释为什么它不正确。谢谢。【参考方案4】:这是一个有效的绝对路径(在我知道的系统上):
/path/to/directory/../../otherfolder/etc/
所以other answer 的意思是获取当前目录的路径:
String filePath = new File("").getAbsolutePath();
然后将您的相对路径与:
filePath.concat("path to the property file");
【讨论】:
以上是关于如何读取文本文件的相对路径的主要内容,如果未能解决你的问题,请参考以下文章