[181] Re:ファイルについて
投稿者:神奈川
2007/02/20 02:13:25
>>今度は、txtファイルの読み込みと書き込みについて質問なんですが、
>
>APIリファレンスを見ると、InputStreamReaderにはmarkとresetという
>メソッドがありますが、markSupportedはfalseのようなので使えませんね。
>
>よって、対象とするファイルがよっぽど巨大なのでなければ、
>「最初にいったん全部読み込んでメモリに載せ、いったんclose()し、
> 処理が全部すんだらまとめて書き出す」
>という方法で良いんじゃないでしょうか。
返信送れてしみません。。確かにこの方法しかないようですね。。
これでやってみます。
新たな質問です。
文字列が
String[] a={"あい","うえ","お","かか","きき","こ"}
String[] b={"あい","け","お","こ","ちち","た"}
と二つあるとき,bに対してaの文字列を引いた文字列
だけを取得するためのサンプルプログラム作成しようと思っているのですが
この場合は、結果的に{"け","ちち","た"}のみになります。
以下にプログラムを書きました。
しかしLinkedHashsetやSetなどのシンボルが解決できないとというエラーが
起こってしまいました。
もしよろしければ正しく直していただけるとうれしいのですが、
また最後の値{"け","ちち","た"}を配列に格納したいのですが
それも含めて宜しくお願いします。
import javax.xml.parsers.*;
import org.xml.sax.*;
import org.xml.sax.helpers.*;
import java.io.*;
public class www extends DefaultHandler {
public static void main(String[] args) {
String[] a = {"あい","うえ","お","かか","きき","こ"} ;
String[] b = {"あい","け","お","こ","ちち","た"} ;
Set setA = new LinkedHashSet(Arrays.asList(a));
Set setB = new LinkedHashSet(Arrays.asList(b));
setB.removeAll(setA);
Iterator it = setB.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
}