現在、Java プログラムでパッケージとファイルを構造化しようとしていますが、理解できない問題があります。
私のコードの関連部分は次のとおりです。
public static final String fileDirectory = "../txtFiles";
public static ArrayList<Account> readAccounts()
throws Exception
{
// The name of the file which we will read from
String fileName = "bank_details.txt";
int accNum;
// Make an ArrayList to store all the accounts we will make
ArrayList<Account> accounts = new ArrayList<Account>();
File file = new File(fileDirectory, fileName);
Scanner input = new Scanner(file).useDelimiter(",$");
}
私のディレクトリ構造は次のようになります。
- 三
- オブジェクト
- Account.java
- txtファイル
- bank_details.txt
- 走る
- ReadingFiles.java
- オブジェクト
ディレクトリ構造を持つbank_details.txt
からアクセスしようとしていますが、使用している方法が機能していません。代わりに、「指定されたパスが見つかりません」というエラー メッセージが表示されます。ReadingFiles.java
"..\txtFiles\bank_details.txt"
FileNotFoundException
上位ディレクトリへのアクセスを含め、私が作成した他のプログラムのファイルにアクセスするために非常によく似た方法を使用した"\..\"
ため、なぜこれが機能しないのか理解できません。
どんな助けでも大歓迎です。
編集:
コマンドプロンプトからすべてをコンパイルしています。
Three の上のディレクトリからコンパイルし、最初にオブジェクトをコンパイルします。
javac Three\objects\*.java
次に、メイン プログラムをコンパイルします。
javac -classpath .\Three run.ReadingFiles.java
解決:
私はこれを変更しました:
public static final String fileDirectory = "../txtFiles";
これに:
public static final String fileDirectory = "Three/txtFiles";
最後に、Javaが作業ディレクトリとどのようにやり取りするかについての理解が不足しています。助けてくれてありがとう