
現在、課題の作成中なんですけどうまくいかないので教えてください。
ファイルに表示されているアクセスログファイルを別のファイルに表示させるコードなんですが、
import java.util.*;
import java.io.*;
public class AccessLog{
public static void main(String args[]){
if(args.length != 1){
System.exit(0);
}
String filename = args[0];
Vector vector = new Vector();
try{
String line ;
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
PrintWriter writer = new PrintWriter(new BufferedWriter(new FileWriter(filename)));
while((line = reader.readLine()) != null){
vector.addElement(line);
writer.println(vector);
}
}catch(IOException e){
System.out.println(e);
}
}
}
Vectorの使い方がよくわからないので教えてください。宜しくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
> 現在、課題の作成中なんですけどうまくいかないので教えてください。
上のコードを見ていて、気になったのは
> while((line = reader.readLine()) != null){
> vector.addElement(line);
> writer.println(vector); ← ★
> }
★ のところでしょうか。
このままだと、reader(標準入力のようですが)から読み出した行を配列に格納して、
1行読む度にその時点で配列に入っている全ての内容をファイルに出力することになります。
そもそもなぜ、わざわざVectorオブジェクトに読み出したファイルの内容をいったん
格納しているのかは分かりませんが、どうしてもこの処理が必要なのであれば、
while((line = reader.readLine()) != null) {
vector.addElement(line);
}
for (int i = 0; i < vector.size(); i++) {
writer.println((String)vector.get(i));
}
writer.flush();
writer.close();
として、読み出した内容を全ての配列に格納して、読み出しが終わった段階でファイルに出力する
とすべきなのでは?
> Vectorの使い方がよくわからないので教えてください。宜しくお願いします。
Vectorについては、C_ranさんが説明されている通りですね

No.1
- 回答日時:
ソースの内容は別としてVectorについてですが
大きさが後から変更できる配列だと考えるとわかりやすいです。
new Vector(); でからの箱を用意します。
addElement(line);でlineを順番に箱に詰めていきます。
内容が知りたいのでしたら
//i番目の内容
vector.elementAt(i);
とします。
for(int i=0;i<vector.size();i++){
System.out.println(vector.elementAt(i));
}
とする事ですべての内容を表示できます。
参考URLに色々なJavaクラスの説明があります。参考にしてみてください。
参考URL:http://java.sun.com/products/jdk/1.2/ja/docs/ja/ …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
sqlparamaterでIN句を使いたい。
-
動的配列確保
-
配列をセッションに割り当てた後で
-
配列で、値の入っている要素数...
-
【C#】ハッシュテーブル(連想...
-
CSVファイルの、列だけ取得したい
-
forループの評価(条件)式につ...
-
javamailで複数人にメールを送...
-
ページング
-
2次元配列のコピー
-
Javaで文字を漢字であるか否か...
-
JavaのBase64デコードで正しく...
-
Strutsで動的Formへの対応
-
C言語でunsigned char配列を連...
-
Javaで文字と数字が混ざったも...
-
C#で実行時にメソッドの返り値...
-
C言語のポインターに関する警告
-
論理演算子”||”またはの入力方法
-
System.err. printlnとSystem.o...
-
javaの掲示板について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
この警告はどうすれば?
-
ページング
-
[Ljava.lang.Stringってなんですか
-
ArrayListからBean配列に値をセ...
-
C#で動的配列Listの中身をListB...
-
Javaで文字と数字が混ざったも...
-
配列で、値の入っている要素数...
-
【C#】ハッシュテーブル(連想...
-
セッションを使ったint型の値の...
-
配列をセッションに割り当てた後で
-
n番目に大きな値を探索する
-
jspでの二次元配列
-
同じ配列またはクラスを、2回...
-
配列の中に複数存在する数がい...
-
配列について
-
【Ajax通信&Java】配列の受け取...
-
JavaBeansの配列の値取得方法に...
-
C言語でunsigned char配列を連...
-
strutsで2次元配列をやりとりす...
-
java 乱数を並べて重複させない...
おすすめ情報