これは解決されていると確信していますが、10種類の戦略はこの問題では機能していません。Java FileNotFoundException - 絶対パスで読み込みまたは実行するが、ファイルが存在する
ファイルの絶対パスとしてC:\ Users \ Anny \ Dropbox \ SocialMediaOcto \ instructions \ Trees \ instructions.txtを使用している場合、IDEAはこのパスからの読み取りや実行ができません。私が同じパスを使ってWindowsエクスプローラに貼り付けるとすぐに実行されます。私はこのファイルがプログラムの設定ファイルとして機能するので作業ディレクトリに集中したくはありませんが、スラッシュをバックスラッシュで置き換えることはできません。絶対パスはファイルに渡しますが、IDEAは起動しません。
私はウィッツエンドです。
public static String generateFileName(String folder){
String filename = "";
List<String> hashtags = new ArrayList<>();
String instructions_file = "C:\Users\Anny\Dropbox\SocialMediaOcto\instructions\Trees\instructions.txt";
//does not return true-true, but can launch file on windows explorer..
System.out.println("FILE EXIST AND EXECUTE?" + new File(instructions_file).getAbsoluteFile().canRead() +" "+new File(instructions_file).getAbsoluteFile().canExecute());
System.out.println(new File(instructions_file).getAbsoluteFile());
//C:\Users\Anny\Dropbox\SocialMediaOcto\instructions\Trees\instructions.txt
BufferedReader br = null;
try {
String sCurrentLine;
br = new BufferedReader(new FileReader(new File(instructions_file).getAbsoluteFile()));
EDIT スラッシュとバックスラッシュを交換した後、リーダは依然として適切に読み取るまたはファイルを実行することができません。
LOG: の文字列が表示されます C:/Users/Anny/Dropbox/SocialMediaOcto/instructions/Bees/instructions.txt
java.io.FileNotFoundException: C:\Users\Anny\Dropbox\SocialMediaOcto\instructions\Bees\instructions.txt (The system cannot find the file specified)
ダブルブラックスラッシュでバックスラッシュをエスケープする必要があります。私はこのコードはコンパイルエラーを与える必要があります – Jens
Javaでは、二重バックスラッシュが必要です。文字列instructions_file = "C:\\ Users \ Anny \\ Dropbox \\ SocialMediaOcto \\ instructions \\ Trees \\ instructions.txt"; –
https://docs.oracle.com/javase/tutorial/essential/io/pathOps.html –