プロが教えるわが家の防犯対策術!

    try{
      URL url = new URL("https://job.mycom.co.jp/07/regist.cgi");
      URLConnection con = url.openConnection();
      InputStream is = con.getInputStream();
      BufferedReader br = new BufferedReader(new InputStreamReader(is,"EUC-JP"));
      BufferedWriter bf = new BufferedWriter(new FileWriter("input.html"));

      String temp = null;

      while((temp = br.readLine()) != null){
        bf.write(temp);
      }
      br.close();
      bf.close();
    }catch(Exception e){
      e.printStackTrace();
    }
  }

このやり方でHTMLを作成し、開くと、何も表示されません。
どなたか原因を教えてください><
ループ内を
System.out.println(temp);
に変えて実行するとソースがすべて表示されたので、tempの中身はちゃんと入っていると思われます。

A 回答 (2件)

No.1です。



実行環境はWindowsでブラウザはIEですよね?
私のところで試してみましたが同じ現象が起きました。

原因は文字コードです。
保存したファイルはShiftJISで保存されていますが、HTML内のmetaタグで「charset=EUC-JP」となっているためブラウザがエンコードエラー(Shift_JISをEUC-JPでエンコードしようとした)を起こして表示されないのだと思います。charset指定を削るかShift_JISに変更するとちゃんと表示されるようになります。

今回の様にHTMLなどを保存する場合には下手にエンコードをかけず、受け取ったままのバイト情報をそのまま保存してあげる方が良いです。
    • good
    • 0
この回答へのお礼

できました!!
ありがとうございます^^

お礼日時:2006/11/19 00:06

>このやり方でHTMLを作成し、開くと、何も表示されません。


input.htmlのファイルの中身が存在しないということですか?それともブラウザで表示出来ないだけですか?

この回答への補足

ブラウザで表示できないということです。

htmlをテキストで開くと中身は入っていました。

補足日時:2006/11/18 22:03
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!