java.net.URL, InputStreamReader: 文字コードを変換

import java.net.MalformedURLException;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

public class Run {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
URL url = new URL("http://ex14.vip2ch.com/part4vip/subback.html");
BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream(),"Shift_JIS"));
// InputStreamReaderの第2引数:取得対象の文字コード. JISAutoDetectのがいいかも
String line;

while ((line = reader.readLine()) != null) {
String ustr = new String(line.getBytes("UTF-8"));//出力したい文字コード
System.out.println(ustr);
}
reader.close();

} catch (MalformedURLException e) {
// ...
} catch (IOException e) {
// ...
}


}

}
JUGEMテーマ:インターネット


メモ
ServletとJSPにおける文字化けについて
日本語パラメータの対応(getBytes)

JavaのURLクラスを使いこなす:ウェブへ簡単にアクセス


「JISAutoDetect」は甘えですか?


import java.net.MalformedURLException;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.*;
public class Run {
/**
* @param args
*
**/
public static void main(String[] args) {
// TODO Auto-generated method stub
String url= "http://ex14.vip2ch.com/part4vip/subback.html";
if (args.length==1 ) { url=args[0];}
String srcen="JISAutoDetect";
String outen="UTF-8";
List lines = new Walker().getURL(url,srcen,outen);
for (int i=0;i<=lines.size()-1;i++) System.out.println(lines.get(i));
}
}
class Walker {
List ustrb = new ArrayList();
public List getURL(String urlstr, String src_encoding,String out_encoding){
try {
URL url = new URL(urlstr);
BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream(),src_encoding));
String line;
while ((line = reader.readLine()) != null) {
ustrb.add(new String(line.getBytes(out_encoding)));
}
reader.close();
} catch (MalformedURLException e) {
// ...
} catch (IOException e) {
// ...
}
return ustrb;
}
}

コメント

このブログの人気の投稿

4.3.0 Temporary Lookup Failureでドツボってた話

tomcat起動時の環境変数でJRE_HOMEを指定するときに

何が得られて何処へ向かうかだけを問うべき