JAVA中通过http的get()读取网络数据的方式:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
public class TestGwt {
public static void main(String[] args) {
// TODO Auto-generated method stub
new ReadByGet().start();
}
static class ReadByGet extends Thread{ //内部的类继承自线程
@Override
public void run() {
try {
URL url=new URL("http://openapi.youdao.com/api?q=good&from=EN&to=
zh_CHS&appKey=ff889495-4b45-46d9-8f48-946554334f2a&salt=2&sign=1995882C5064805BC30A39829B779D7B");//此处报错202,因为url中appKey不正确,在实际操作中需要经过申请
URLConnection connection=url.openConnection();//接收返回值
InputStream is = connection.getInputStream();//获取网络连接的输入流,接收返回值
InputStreamReader isr = new InputStreamReader(is,"UTF-8");//包装InputStream
BufferedReader br = new BufferedReader(isr);//包装InputStreamReader
String line;
StringBuilder builder = new StringBuilder();
while((line = br.readLine()) != null) {//若为空表明内容结束跳出循环若不为空表明内容还没有结束
builder.append(line);
}
br.close();//需要关闭输入流,后打开的要先关闭
isr.close();
is.close();
System.out.println(builder.toString());
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}