0

Eclipse プロジェクトがあり、1 つのフォルダーにテキスト ファイル "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 に答える