0

課題で誰かと一緒に作業していて、ファイルを読み込んで保存できる必要があります。現時点では、次のようにしています。

robot1.getComputer().loadAndCompileProgram(new File("C:\\Projects\\IO\\program1.txt"));

ただし、これには、彼と私の両方がこのプログラムをまったく同じ場所に置く必要があります。それを eclipse プロジェクトに保存し、コンピューター内の program1 の「完全な」場所に関係なくファイルをロードできるようにしたいと考えています。次のようにしたいと考えています。

robot1.getComputer().loadAndCompileProgram(new File("/Project D3 1.15/Progs/program1.txt"));

Project D3 1.15 は Java プロジェクトであり、完全な文字列は program1 の Eclipse のパスです。ただし、これは機能しません。私たちがやりたいことをすることは可能ですか?

4

4 に答える 4

0

試してみるnew File("./Progs/program1.txt")new File("Progs/program1.txt"")

それに加えて、さまざまな IDE でファイルを見つける方法を見つけるのに問題がある場合は、次のように main メソッドを使用して単純なクラスを作成してください。

public class ExpMainClass {
    public static void main(final String[] args) throws Exception {
        System.out.println(new File(".").getAbsolutePath());
    }
}

それを実行します - これは、IDE がアプリケーションを実行している場所を理解するのに役立ちます。

于 2012-05-21T14:36:08.917 に答える
0

Eclipse プロジェクト名とコンピューター上の実際のパスには違いがあります。パスが C:\Projects\Bar である Foo という名前のプロジェクトを持つことができます。

ただし、Eclipse から実行すると現在のディレクトリにいるため、これを行うことは可能です。

これをするだけ

robot1.getComputer().loadAndCompileProgram(new File("Progs/program1.txt"));

または (プロジェクト名を指定する場合)

robot1.getComputer().loadAndCompileProgram(new File("../Project D3 1.15/Progs/program1.txt"));
于 2012-05-21T14:37:04.410 に答える
0

のような Java システム プロパティを利用してuser.dir、ワークスペースまで取得し、パスを構築することができます。

new File(System.getProperty("user.dir") + File.separator + "program1.txt")

これは、Eclipse を介して実行している場合、ファイルがワークスペース内に直接存在することを期待します。

これは、真にプラットフォームに依存しない方法です。

于 2012-05-21T14:38:11.993 に答える
0

必要なものはこれです:

String myProjectDir = System.getProperty("user.dir");
robot1.getComputer().loadAndCompileProgram(new File(myProjectDir +"/myFolder/program1.txt"));

JVM 環境変数「user.dir」は、プロジェクト ディレクトリを指します (Eclipse から実行されるプログラムの場合)。

于 2012-05-21T14:45:12.353 に答える