node.js - java的输入流、输出流怎么理解?
问题描述
import java.net.*;import java.io.*;public class URLConnDemo{ public static void main(String [] args) { try { URL url = new URL('http://www.xxx.com'); URLConnection urlConnection = url.openConnection(); HttpURLConnection connection = null; if(urlConnection instanceof HttpURLConnection) { connection = (HttpURLConnection) urlConnection; } else { System.out.println('请输入 URL 地址'); return; } BufferedReader in = new BufferedReader( new InputStreamReader(connection.getInputStream())); String urlString = ''; String current; while((current = in.readLine()) != null) { urlString += current; } System.out.println(urlString); }catch(IOException e) { e.printStackTrace(); } }}
从这段代码来看,请求一个url并把内容读取出来显示,但是为什么这里用到getInputStream,应该不是getOutStream 输出吗?
问题解答
回答1:InputStream 是用来读取的,OutputStream 是用来写入的;换句话说,输入流是指输入到系统中的流,系统从这个流中读取内容;输出流是指从系统输出的流,系统往这个流中写入内容。这个取名方式是站在使用者的角度,而不是 Stream 对象的角度。用过几次就习惯了。
相关文章:
1. MySQL中无法修改字段名的疑问2. angular.js - angularjs的自定义过滤器如何给文字加颜色?3. docker镜像push报错4. angular.js - angular内容过长展开收起效果5. javascript - 如何让移动端网页的输入框固定在底部?6. 请教各位大佬,浏览器点 提交实例为什么没有反应7. 大家好,请问在python脚本中怎么用virtualenv激活指定的环境?8. python的前景到底有大?如果不考虑数据挖掘,机器学习这块?9. linux - 升级到Python3.6后GDB无法正常运行?10. 并发模型 - python将进程池放在装饰器里为什么不生效也没报错
