• ベストアンサー

ストリーム テキスト

初心者の質問です。よろしくお願いします。 Javaのストリームを勉強しているのですが、FileReaderでテキストファイル(txt)を入力するにはどうすれば良いのでしょうか? Javaファイルは正しく入力できたのですが。 FileReader fr=new FileReader(args[0]);では、問題があるのでしょうか。 よろしくお願いします。

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

  • ベストアンサー
  • DiveKo
  • ベストアンサー率70% (7/10)
回答No.2

> Javaのストリームを勉強しているのですが、FileReaderでテキストファイル(txt)を入力するにはどうすれば良いのでしょうか? サンプルプログラムを↓にかいてきます。参考になれば幸いです。 ++++++++++++++++ import java.io.*; public class FileIODemo { public static void main(String args[]) { int c; String s = new String(); try{ FileReader fr = new FileReader("G:\\abc.txt"); while((c = fr.read()) != -1){ s = s + (char)c; } System.out.println(s); fr.close(); }catch(IOException e){ System.out.println(e); } } } ++++++++++++++++ >FileReader fr=new FileReader(args[0]);では、問題があるのでしょうか。 args[0]は、Mainの引数と推測しますが、いかがでしょうか? OKbokuzyoさんのおっしゃっている通り、「実行時にファイルパスを正しく指定していれば問題なくFileReaderオブジェクトは作られるはず」だと思います。

noname#191253
質問者

お礼

ご回答ありがとうございます。 大変勉強になるプログラムありがとうございます。

その他の回答 (1)

  • OKbokuzyo
  • ベストアンサー率43% (130/296)
回答No.1

args[0]は何ですか?main関数の引数ですか? 実行時にファイルパスを正しく指定していれば問題なくFileReaderオブジェクトは作られるはずですよ。 テキストファイルはmain関数を持つクラスファイルと同じディレクトリにちゃんと存在しているのでしょうか? 同じディレクトリでなければ絶対パス、あるいは相対パスで指定しなければなりません。 あるいは、ディレクトリ名に空白スペースを含んでいるなら'(クォーテーション)あるいは"(ダブルクォーテーション)で囲う必要があります。 いずれにせよ、質問文から得られる情報が少なすぎて適切なアドバイスが受けにくいと思います。 最低限、実行時にコンソールに出力されたエラーの内容くらいは書いた方がいいです。 ※ というか、出力されたエラー内容が回答者が回答する上で一番良い情報になる場合がほとんどです。

noname#191253
質問者

お礼

ご回答ありがとうございます。 >テキストファイルはmain関数を持つクラスファイルと同じディレクトリにちゃんと存在しているのでしょうか? とても参考になりました。javaファイル(実行ファイル)のディレクトリとテキストの位置が異なっていました。つまらないミスで、お手数をかけ申し訳ありませんでした。 今後、気を付けます。

関連するQ&A

専門家に質問してみよう