• ベストアンサー

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を読み込ませています。しかしながら、多分、この「ファイル名」が半角やら、顔文字やらでうまく読み込めていないと思います。

質問者が選んだベストアンサー

  • ベストアンサー
  • kodamashi
  • ベストアンサー率20% (10/49)
回答No.2

FileNotFoundExceptionをCatchしてそれだけ処理をパス するようにしたらどうでしょう? 読めないパターンがわかっているのならファイル名 チェックロジックをいれるとか。

その他の回答 (2)

  • nuki
  • ベストアンサー率30% (6/20)
回答No.3

ファイル名云々の前に、 半角カナ文字をjavaで扱うことは可能な筈ですので、 エンコーディングが正しくない可能性は ないでしょうか? 半角カナやパス区切り文字が\である点から、 Windowsをお使いと思われますが、 エンコーディングにSJISではなくMS932を 使ってみてはいかがでしょうか? そんなのは当たり前だ、ということでしたら すみません。

参考URL:
http://java.sun.com/j2se/1.4/ja/docs/ja/guide/intl/index.html
mizuki_ff
質問者

お礼

回答いただきありがとうございます。 まったく知りませんでした。ぜひとも、参考にさせていただきます。 >#1,2さま try catch を記述することで、うまくいきました。ありがとうございます。

回答No.1

>読めるファイルだけでも読みたいのですが その部分をtry catchしたら。

関連するQ&A

専門家に質問してみよう