文件和网络定制资源读取方式

来源:互联网 发布:摄像头扫描软件 编辑:程序博客网 时间:2024/06/10 16:02

开发中用的比较多的是文件上传下载和网络特定字符流资源读取等,要选择适当的类来解析:

1、文件读取

主要是文件服务器上资源的读取,主要使用文件操作类,比如FileInputStream 和FileOutPutStream等相关的类,这些用的比较多,暂时不做详细介绍了。


2、网络字符流定制化的读取

这类主要是读取特定封装的网络字符串,比如json或xml的数据流,一般是通过http的url来进行的,涉及的类(URL URLConnection HttpURLConnection OutputStream InputStreamReader BufferedReader)这个用的比较少,举例来标注下,方便下次使用;这个是读取http的json字符流,可以参考下

public static String callWS(String SOAPUrl, String body) throws Exception {
URL url = new URL(SOAPUrl);
URLConnection connection = url.openConnection();
HttpURLConnection httpConn = (HttpURLConnection) connection;
String httpContent = body;
byte[] b = httpContent.getBytes("utf-8");
httpConn.setRequestProperty("Content-Length", String.valueOf(b.length));
httpConn.setRequestProperty("Content-Type", "text/xml; charset=utf-8");
httpConn.setRequestProperty("SOAPAction", "");
httpConn.setRequestMethod("POST");
httpConn.setDoOutput(true);
httpConn.setDoInput(true);
OutputStream out = httpConn.getOutputStream();
out.write(b);
out.close();
InputStreamReader isr = new InputStreamReader(httpConn.getInputStream(),"utf-8");
BufferedReader in = new BufferedReader(isr);
String result = "";
String inputLine;
while ((inputLine = in.readLine()) != null) {
result = result + inputLine;
}
in.close();
return result;
}

其实还有一种方式,udp协议的传输数据,主要使用的类:DataOutPutStream 和DataInputStream线程安全的类来进行。大致想到这么多,以后想到补充完整吧。

1 0