- ベストアンサー
テキストファイルが読み込めない
みなさんはじめまして、下記ソースなんですが「FileInputStream fi = new FileInputStream(inputFile);」の手前までは処理が流れるの ですが、その後の処理が流れなくて困っています。 ターゲットとなる「test.txt」ファイルはHTML・JAVAソースファイル クラスファイルと同じフォルダに存在します。 特に保存先等を指定していないので、必然的に同じフォルダ内を見てフ ァイルを読み込みに行くんですけど、読み込まず、そのまま処理が流れ てしまいます。 どこかやり方がいけないところがあるんでしょうか? public String FileInput(){ byte data[] = new byte[16]; String number = ""; try { File inputFile = new File("test.txt"); FileInputStream fi = new FileInputStream(inputFile); /* データを読み込み */ if(fi.read(data)== 16){ /* 0バイト目から9バイト目までを読み込み */ if(new String(data,0,9).equals("010105502")){ /* 0バイト目から16バイト目までをnumberに代入 */ number = new String(data,0,16); } } fi.close(); } catch(FileNotFoundException e){ e.printStackTrace(); } catch(IOException e){} return(number); }
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
メソッドしか書かれていないので、構成がよくわからないのですが、 このtest.txtファイルはメインを起動している同一ディレクトリ内に存在しているのでしょうか? もしくはこのメソッドが存在しているクラスがメインなのでしょうか? ファイルインプットストリュームの実装までは、 流れているとの事ですが、それ以降はどうなっているのでしょうか? FileNotFoundExceptionがcatchされているとか、 その他のExceptionがcatchされているとか。。。 たぶん、起動ディレクトリにファイルが無いからだと思われますよ。 何だったら、絶対パスでファイル名を記述してください。
その他の回答 (2)
- hogehoe
- ベストアンサー率60% (3/5)
テスト環境がわかりませ。 これは、アプレットですか?
お礼
詳しく書かずすいませんでした。また何かわからない事が出てきましたら その時はよろしくお願いします。
- happy_people
- ベストアンサー率30% (25/81)
別のディレクトリの test.txt を見に行ってるとか。。。 File inputFile = new File("test.txt"); FileInputStream fi = new FileInputStream(inputFile); の2行を File outputFile = new File("test.out"); FileOutputStream fo = new FileOutputStream(outputFile); に変えたら、test.out はどこに作られるでしょうか?
お礼
他の方に教えてもらい何とかいけるようになりました。 ですが、こう言ったやり方で、どこがいけないのか?と言う調べ方を 知ることができ、ちょっと勉強になりました。 どうもありがとうございました。
補足
happy_peopleさんに言われた通りやってみた所、どこにもファイル は作られませんでした。 ファイル自体は「ファイルやフォルダの検索」ですべてのハードディス クを検索し、つけたファイル名はもちろん、その日1日に該当するファ イルを全て検索してみましたが、出てきませんでした。 やはりこれはファイルが作られなかったと言うことでしょうね。 ますます原因がわからなくなってきました。
お礼
どこがいけないのか?等にばっかり目を取られ、絶対パスで記述をして いませんでした。 それでやってみた所、うまくいけました。 どうもありがとうございました。