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. 为什么微信内置浏览器用$_COOKIE取不到值?2. python - flask post提交timestamp不能作为参数,这是为什么?3. html5 - 新手提问:为什么form表单的post请求 路由处理不了4. android - 安卓使用webview播放腾讯、优酷视频的方法5. android - 在win7配置 react native开发环境时,一直卡在这里,请问以下是哪里出错了,谢谢!6. 这里举例有错吗7. objective-c - iOS开发支付宝和微信支付完成为什么跳转到了之前开发的一个app?8. css - 为何flex的align-items: center无法垂直居中?9. 最新版 Cmder 结合 Ubuntu bash on windows10 使用时每个汉字都重复出现10. mysql怎么修改约束啊