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 {
Listustrb = new ArrayList ();
public ListgetURL(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;
}
}
コメント
コメントを投稿
「コメントを投稿できるユーザー」の範囲は変更される可能性があります。