0

我有一个 Eclipse 项目,在一个文件夹中有一个文本文件“conf.txt”。当我使用计算机上的路径时,我可以读取和写入文件。但我也必须在那里编写自己的文件夹,而不仅仅是工作区文件夹。所以知道我想为其他人提交程序,但是我在程序中输入的路径将不起作用,因为程序在另一台计算机上运行。我需要的是能够仅使用工作区中的路径来使用该文件。

如果我只是放入工作区中的路径,它将不起作用。

这就是我的类文件的样子。

public class FileUtil {

public String readTextFile(String fileName) {

      String returnValue = "";
      FileReader file = null;

      try {
        file = new FileReader(fileName);
        BufferedReader reader = new BufferedReader(file);
        String line = "";
        while ((line = reader.readLine()) != null) {
          returnValue += line + "\n";
        }
        reader.close();
      } catch (Exception e) {
          throw new RuntimeException(e);
      } finally {
        if (file != null) {
          try {
            file.close();
          } catch (IOException e) {
            // Ignore issues during closing 
          }
        }
      }
      return returnValue;
    }

public void writeTextFile(String fileName, String s) throws IOException {

    BufferedWriter output = new BufferedWriter(new FileWriter(fileName));
    try {
        output.write(s);
    }
      finally {
        output.close();
      }
  }

}

我希望有人知道该怎么做。

谢谢!

4

2 回答 2

1

我不确定,但我附上了带有一点解释的屏幕截图。如果您有任何问题,请告诉我。

您的项目是此处的根文件夹,图像作为资源文件夹,您可以使用相对路径访问文件。

// looks for file in root --> file.txt
scan = new Scanner((new File("file.txt")));

// looks for file in given relative path i.e. root--> images--> file.txt
scan = new Scanner((new File("images/file.txt"))); 

在此处输入图像描述

于 2013-06-25T22:04:30.093 回答
0

如果您希望通过相对路径访问配置文件,则无需在其前面添加任何内容。假设您使用的是 bufferedReader,或者类似的东西,它看起来很简单:br = new BufferedReader(new FileReader("config.txt"));

这将导致搜索运行时目录,这样您就不必完全限定文件的路径。话虽如此,您必须确保您的 config.txt 与可执行文件位于同一目录中。

于 2013-06-25T21:45:30.853 回答