- ベストアンサー
javaのエラーについて
javaを使って、ファイルの場所が書いてある、テキストファイルからファイルを読み取って解析するコードを書いたのですが、何行か作業をすると、エラーがでます。 ファイル名に半角カナや顔文字の類が入っているためエラーが起こっていると思います。 ただ、残念ながら、ファイル名を変更することができないため、読めるファイルだけでも読みたいのですが、下記のエラーがでて前に進めません。なんとか、エラーをスキップして作業を進めたいのですが、よい方法はないでしょうか?よろしくお願いいたします。 エラーメッセージ Exception in thread "main"java.io.FileNotFoundException :c:\ファイル名.txt( ファイル名、ディレクトリ名、またはボリューjム ラベルの構文が間違っています。) at java.io.FileInputSteam.open(Nativa Method) at java.io.FileInputStream.<init>(Unknown Source) at java.io.FileInputStream.<init>(Unknown Source) at Test.main(Test.java:17) 17行目と18行目のコードです InputStream is = new FileInputStream(link); BufferedReader br = new BufferedReader(new InputStreamReader(is, "JISAutoDetect")); linkというところに、C:\ファイル名.txtを読み込ませています。しかしながら、多分、この「ファイル名」が半角やら、顔文字やらでうまく読み込めていないと思います。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
FileNotFoundExceptionをCatchしてそれだけ処理をパス するようにしたらどうでしょう? 読めないパターンがわかっているのならファイル名 チェックロジックをいれるとか。
その他の回答 (2)
- nuki
- ベストアンサー率30% (6/20)
ファイル名云々の前に、 半角カナ文字をjavaで扱うことは可能な筈ですので、 エンコーディングが正しくない可能性は ないでしょうか? 半角カナやパス区切り文字が\である点から、 Windowsをお使いと思われますが、 エンコーディングにSJISではなくMS932を 使ってみてはいかがでしょうか? そんなのは当たり前だ、ということでしたら すみません。
- water-cooled
- ベストアンサー率14% (76/538)
>読めるファイルだけでも読みたいのですが その部分をtry catchしたら。
お礼
回答いただきありがとうございます。 まったく知りませんでした。ぜひとも、参考にさせていただきます。 >#1,2さま try catch を記述することで、うまくいきました。ありがとうございます。