当前位置: 首页 > 知识库问答 >
问题:

如何独立于Java项目的路径打开文件?

孟晋
2023-03-14

我正在使用Eclipse,在那里,我Java名为“测试”的项目,它也包含文本文件。这个项目中的类应该能够使用BufferedReader读取其中一个文件。这是我目前的代码:

BufferedReader in = new BufferedReader(new FileReader("C:/Users/workspace/Test/testFile.txt"));

我的文件始终在项目中,但当我将项目移动到另一个路径时,文件路径也会更改,因此我必须使用新路径调整代码。我不想那样,因为这是不切实际的,那我该怎么办呢?如何获得项目的路径?

共有2个答案

韦阳辉
2023-03-14

试着这样做:

File currentDirFile = new File(".");
String fileDir = currentDirFile.getAbsolutePath();
阳凌
2023-03-14

您可以将文件添加到资源文件夹中,然后像

ClassLoader classLoader = getClass().getClassLoader();
File file = new File(classLoader.getResource("file/test.xml").getFile());
 类似资料:
  • 问题内容: 我正在使用以下代码从给定路径获取包含所有子目录的数组。 我需要数组来检查某些文件夹是否在此路径中的正确位置。直到findBugs抱怨File.separator用作正则表达式之前,这似乎是一个很好的解决方案。似乎将Windows文件分隔符传递给从中构建正则表达式的函数是个坏主意,因为反斜杠是转义字符。 如何不使用File.separator以跨平台方式拆分路径?还是这样的代码好吗? 问

  • 一个项目将会自动生成测试运行。默认位置为:build/reports/androidTests 这非常类似于JUnit的报告所在位置build/reports/tests,其它的报告通常位于build/reports/< plugin >/。 这个路径也可以通过以下方式自定义: android { ... testOptions { reportDir = "$p

  • 问题内容: 嗨,我需要使用FileInputStream读取文件,但是我没有获得正确的路径。我的文件位于C:\ Users \ tester \ Documents \ Java Project \ Samples \ ProjectOne \ src \ pdfReader中。但是,当我使用以下代码时,我得到的错误路径是“ / C:/ Users / tester / Documents / J

  • 问题内容: 在这个话题上有很多困惑。已经提出了几个问题。事情似乎仍然不清楚。ClassLoader,绝对文件路径等 假设我有一个项目目录结构, 我在“ lib / txt”目录中有一个资源说“ txtfile.txt”。我想以系统独立的方式访问它。我需要项目的绝对路径。所以我可以将路径编码为abspath +“ / lib / Dictionary / txtfile.txt” 假设我这样做 我得

  • 我试图在我的应用程序中使用谷歌云翻译API,但当我添加: 发生以下错误: 找到了多个具有操作系统独立路径“META-INF/INDEX”的文件。列表'。 添加此选项并不能解决问题:

  • 问题内容: 给定来自Linux上Java的UNC路径,是否有可用的库可让我读取和写入Windows Fileshare。 在Windows框本身上这是微不足道的,而且我知道smbclient的方法,但是我希望通过放入库来实现。 谢谢。 问题答案: 看看jcifs。听起来像您要找的东西。 从jcifs站点: JCIFS是一个开放源代码客户端库,它以100%Java实现了CIFS / SMB网络协议。