在使用UNIX终端编译时,如何获取java中src目录内的文件路径?

时间:2014-02-24 01:53:46

标签: java unix ant

我有java代码

    File file = new File(fileName);

    try {

        input = new FileInputStream(file.getAbsolutePath());


    } catch (FileNotFoundException e) {

        e.printStackTrace();

    }



    Scanner fileScanner = new Scanner(fin); 

我用来从文本文件中读取。但是,我正在使用ANT文件和调用

时在Windows的UNIX终端模拟器中进行编译
file.getAbsolutePath()

它在bin目录中查找输入文件。如何在src目录中查找输入文件?

2 个答案:

答案 0 :(得分:1)

如果您的fileName是相对路径(例如test.txt,而不是/temp/test.txt),它会查找相对于当前所在目录的文件。我认为您可以实现目标是将../src/添加到您的fileName变量中。

答案 1 :(得分:1)

这个问题有几种解决方案:

  1. 自定义相应的ant任务,将文件从src目录复制到bin目录。

  2. 自定义适当的ant任务以将文件打包到JAR文件中并修改代码以从JAR文件中加载它。

  3. 将文件放在另一个文件夹(例如assets)中,并自定义ant任务以将新文件夹复制到bin文件夹。

  4. 就个人而言,我更喜欢选项3,因为src旨在保存源文件。在我看来,其他资产应该分开存放。此外,如果您复制整个目录,则可以更轻松地向项目中添加其他资源。