現在、課題の作成中なんですけどうまくいかないので教えてください。
ファイルに表示されているアクセスログファイルを別のファイルに表示させるコードなんですが、
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.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/ …
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さんが説明されている通りですね
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- Java java final 1 2022/06/10 22:49
- C言語・C++・C# 大量のデータを読み込んで表示する速度を改善したい 8 2023/05/07 13:29
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- C言語・C++・C# C# で、あるフォルダー内にあるすべてのテキストファイルを別のフォルダーにコピーする。 4 2022/11/21 13:23
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- Visual Basic(VBA) Excel VBAについて、 フォルダ内のファイルを全て開きたい場合、 FSOを使えば、Dirは使わ 1 2023/01/27 13:18
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
n番目に大きな値を探索する
-
配列の中に複数存在する数がい...
-
[Ljava.lang.Stringってなんですか
-
Java配列の問題を教えてくださ...
-
『args[]』とは?
-
配列で、値の入っている要素数...
-
ArrayListを使った多次元配列の...
-
strutsでArrayListの中の配列の...
-
【Ajax通信&Java】配列の受け取...
-
Javaで文字と数字が混ざったも...
-
この警告はどうすれば?
-
半角カナの判別方法
-
java 大文字と小文字を入れ替える
-
配列を使ってカレンダーを表示...
-
Java・配列の問題です。 int 「...
-
CSVファイルの、列だけ取得したい
-
Java 配列の問題です。 写真の...
-
cloneメソッドについて (java)
-
【C#】ハッシュテーブル(連想...
-
Javaで文字を漢字であるか否か...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Javaで文字と数字が混ざったも...
-
[Ljava.lang.Stringってなんですか
-
この警告はどうすれば?
-
Java配列の問題を教えてくださ...
-
配列の中に複数存在する数がい...
-
配列で、値の入っている要素数...
-
java
-
『args[]』とは?
-
javaで大容量テキストファイル...
-
C#で動的配列Listの中身をListB...
-
csvファイルを2次元配列に格納
-
Javaで文字を漢字であるか否か...
-
フローチャート
-
javaについて
-
【C#】ハッシュテーブル(連想...
-
セッションを使ったint型の値の...
-
C言語でunsigned char配列を連...
-
配列について
-
n番目に大きな値を探索する
-
cloneメソッドについて (java)
おすすめ情報