ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Java質問&情報提供サイトコミュの「BufferedReaderについて」の続き&+α

  • mixiチェック
  • このエントリーをはてなブックマークに追加
 これまでの皆さんのご提案、初心者の私には結構参考になり、
非常に有難いものでした。皆さんの積極的なアプローチは私にとっていい意味で刺激的ですし、本当に感謝の気持ちです。
 おかげさまで、コレクションの使い方も分かったかと思いますし、ネットで調べたりもしつつやっと課題ができそうだった・・・のですが、まだまだエラーに捕まっています。エラー文を読んだだけでは何が何故変なのかがまだまだ分からないレベルで恥ずかしい限りです。どのように直せばよいかということも不明瞭で、
行き詰まっている状況です。
 いっそのこと、次のところでこれまで自分が作ったソースを載せておきたいと思います。いまのところメソッドについてのエラーが主で、合計3つです。以下プロンプトより抜粋です。
========================================================
?java20:filenameはmain(java.lang.String[])で定義されています。
?java20:シンボルを見つけられません。
 シンボル:メソッドreadLine(java.io.BufferedReader)
?java24:シンボルを見つけられません。
 シンボル:メソッド exist()

注:ShortEditor.javaの操作は、未チェックまたは安全ではありません。
注:詳細については、-Xlint:uncheckedオプションを指定して再コンパイルして下さい。
========================================================

コメント(4)

mport java.io.*;
import java.util.*;

public class ShortEditor {
public static void main(String[] args) {
ArrayList list = new ArrayList();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String line = null;
while (true) {
line = reader.readLine();
if(line.equals("q")) {
break;
}
list.add(line);
}
String filename = args[0];
File file = new File(filename);
while (true) {
System.out.println("ファイル名を入力して下さい");
String filename = readLine(reader);
if (filename.equals("")) {
return;
}
else if (filename.exist()) {
System.out.println(filename + "は既に存在します。");
continue;
}
try {
PrintWriter writer = new PrintWriter(new BufferedWriter(new FileWriter(filename)));
while ((line = reader.readLine()) != null) {
writer.println(line);
}
writer.close();
} catch (IOException e) {
System.out.println(e);
}
}
}
}
========================================================
ここまで長くなってしまい、大変申し訳ないです。
そして、ここまで読んで下さり、まことにありがとうございます。
main()でfilenameという変数を宣言しておいて(16行目)、
18行目からのwhile(true)ループ内で同名の変数を宣言してる(20行目)
のが、悪いのではないでしょうか。
これC/C++ではOKなんですがね。
要するに、20行目は
String filename = readLine(reader);
ではなくて
filename = reader.readLine();
が、正しいのでは。
24行目のエラーは、Stringクラスにexist()というメソッドはないからでしょう。ファイルの存在の有無の判定はjava.io.Fileクラスのメソッドを使って下さい。
APIに関しては以下のサイトのドキュメントが参考になります。
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/index.html

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

Java質問&情報提供サイト 更新情報

Java質問&情報提供サイトのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。