[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends:00469] JAVA のストリームと、 O Sのストリームの仕様の違い?






はじめまして。
下記の問題がおきているのですが、どうすれば、sunが修正を行うように出来るのでしょうか?

    public static void main(String[] args) throws Exception {
    //大量のテキストを、クリップボードからCMD.EXEにペーストした場合
        //落ちない
        //Reader in = new InputStreamReader(new FileInputStream(FileDescriptor.in));
        //落ちる
        Reader in = new InputStreamReader(new BufferedInputStream(new FileInputStream(FileDescriptor.in)));

        int ch;
        while((ch = in.read()) > 0) {
            System.out.print((char)ch);
        }
    }

問題はどこにあるかというと、
    System.out.println(System.in.getClass());
この実行結果が、
    class java.io.BufferedInputStream
なので、
    Reader in = new InputStreamReader( System.in );
これは、上のケースにあてはめると、「落っこちる」という事になります。

落ちるJDKのバージョンは、以下のとおり。
sun jdk1.1.8 on Windows2000
sun jdk1.3 on Windows2000
sun jdk1.4 on Windows2000

落ちないJDKのバージョンは、以下のとおり。
sun jdk1.2.2 on redhat linux
Microsoft (R) Command-line Loader for Java Version 5.00.3802 on Windows2000

----
YOSHIDA Shintaroh  yoshida@xxxxxxxxxxxxxxx

------------------------------------------------------------------------
目指せ!! 商品券20万,旅行券20万,デジカメ,PS2,Xbox…ホームページコンテスト
             http://isweb.infoseek.co.jp/hp_daiou/?svx=971122