2017-02-11 8 views
0

を保存されているところで、それがDドライブを指定する罰金プットを働く私の現在のコードファイルパスは、それが普遍的に動作させるためにドライブを指定しないでください、どんなにプログラムは

public static void readText() throws FileNotFoundException { 
    Scanner scan = new Scanner(new File("D:\\BookList\\src\booklist\\Booklist.txt")); 
    while(scan.hasNextLine()){ 
     String line = scan.nextLine(); 
     System.out.println(line); 
    } 
} 

である(それが上に格納されていますusb)、その他のフォルダはありません。

ユーザーはどこでもファイルを保存できますが、理論的にはファイルパスは毎回異なるため、私の質問は、プログラムが存在するブックリストプロジェクトフォルダからどのように始まるのですか?プロジェクトフォルダ(もしあれば)、そしてプロジェクトフォルダ内で、私のプログラムが使用するファイルを探します。

+0

絶対パスではなく相対パスです:[Javaは新しいファイル()で相対パスをどのように解決するのですか?]](http://stackoverflow.com/questions/21060992/how-does-java-新しいファイルを相対パスで解決する)。 – MikaelF

答えて

0

あなたのケースについてはわかりませんが、Windowsのバッチ/ cmdでは、ファイルを実行してカレントディレクトリをファイルパスの変数として使用することを知っています。 )、現在のディレクトリを指定します。 "cd"コマンドのパラメータを調整して、パス全体ではなくドライブレターだけを返すことが可能であることを覚えています。

私はその性質のものがあなたのケースで利用可能であると確信しています。

関連する問題