java中流关闭如何打开_关于java中流关闭的问题
有如下代码:
private static String extractContent(HttpResponse response) throws Exception {
String htmStr = null;
if (response.getStatusLine().getStatusCode() == 200) {
if (response != null) {
BufferedReader br = null;
InputStream ins = null;
代码中的br 和ins都正确的关闭掉了。但是在使用InputStreamReader的时候,是通过
br = new BufferedReader(new InputStreamReader(ins, "UTF-8"));
来使用的,那么InputStreamReader是否需要显示的关闭,即改成:
private static String extractContent(HttpResponse response) throws Exception {
String htmStr = null;
if (response.getStatusLine().getStatusCode() == 200) {
if (response != null) {
BufferedReader br = null;
InputStream ins = null;
InputStreamReader inr = null;
try {
HttpEntity entity = response.getEntity();
ins = entity.getContent();
inr = new InputStreamReader(ins, "UTF-8");
br = new BufferedReader(inr);
StringBuffer sbf = new StringBuffer();
String line = null;
while ((line = br.readLine()) != null) {
sbf.append(line);
}
我知道在JDK7之后提供了try with resources的方法解决了这种问题,但是在JDK7之前是不是必须的这样用,显示的分别new相应流对象,然后最后再关闭,而不能
br = new BufferedReader(new InputStreamReader(ins, "UTF-8"));
像这样嵌套这来用。
我的问题:
1.如果没有流关闭,会带来安全隐患,具体带来何种安全隐患?最好能举例说明。还有说没有正确的关闭流,会造成系统资源的浪费,具体是指什么?(我的理解是浪费CPU资源,导致CPU轮询去查询是否有I/O传输,这样的理解对不对啊)??
2.jdk1.7之前,流的使用,是不是必须要用这种结构:
BufferedReader ins = null;
InputStreamReader inr = null;
try{
ins = ...
inr = ...
}catch{
...
}finally{
if(null != ins) ins.close;
if(null != inr) inr.close;
}
而不能使用这样的结构:
BufferedReader ins = null;
try{
ins = new InputStreamReader(new InputStrea(System.in, "UTF-8"));
}catch{
...
}finally{
if(null != ins) ins.close;
}
java中流关闭如何打开_关于java中流关闭的问题相关推荐
- java强制使用ie打开_使用标记强制关闭IE兼容模式
我正在为在所有Intranet站点上强制兼容模式的客户端工作. 我想知道是否有一个标签,我可以放入我的HTML,强制兼容模式关闭. #1楼 如果您正在使用Intranet区域中的页面,您可能会发现IE ...
- 【源码+图片素材】Java王者荣耀游戏开发_开发Java游戏项目【王者荣耀】1天搞定!!!腾讯游戏_Java课程设计_Java实战项目_Java初级项目
王者荣耀是当下热门手游之一,小伙伴们是否想过如何制作一款属于自己的王者荣耀游戏呢? 本课程讲解了一个王者荣耀游戏的详细编写流程,即使你是刚入门Java的新手,只要你简单掌握了该游戏所需要的JavaSE ...
- java如何关闭线程池_如何优雅的关闭Java线程池
⾯试中经常会问到,创建⼀个线程池需要哪些参数.线程池的工作原理,却很少会问到线程池如何安全关闭的. 也正是因为⼤家不是很关注这块,即便是⼯作三四年的⼈,也会有因为线程池关闭不合理,导致应用⽆法正常st ...
- java pdf 转txt文件怎么打开_纯Java实现PDF转txt文件
展示这个Demo的原因是一哥们需要我帮他把一些PDF格式的资料转为txt,我在网上找了下在线的工具,都不好用,网上大多数的在线pdf转txt文件都需要付费,而免费的一次转换文件大小不能超过2M,比较痛 ...
- java itext 导出pdf文件_【Java,PDF】使用Itext实现PDF文件生成
重要声明:本文章仅仅代表了作者个人对此观点的理解和表述.读者请查阅时持自己的意见进行讨论. 前言 有时候,业务系统要求提供一个PDF文件导出的功能,这时候我们就需要将数据库的对应数据查询出来,然后生成 ...
- java 取栈顶元素_《Java实战之内存模型》详解篇
内存是非常重要的系统资源,是硬盘和CPU的中间仓库及桥梁,承载着操作系统和应用程序的实时运行 JVM内存布局规定了Java在运行过程中内存申请.分配.管理的策略,保证了JVM的高效稳定运行 不同的JV ...
- java 多态判断非空_收藏Java 面试题全梳理
脚本之家 你与百万开发者在一起 来源 | Java建设者(ID:javajianshe) 作者 |cxuan 如若转载请联系原公众号 Java 基础篇 Java 有哪些特点 并发性的:你可以在其中执行 ...
- java文件和xml文件_用Java分割大型XML文件
java文件和xml文件 上周,我被要求用Java编写一些东西,该东西能够将一个30GB的XML文件拆分为可配置文件大小的较小部分. 文件的使用者将是一个中间件应用程序,该应用程序在XML的大尺寸方面 ...
- java se好用吗_利用 Java SE 7 更好地管理资源
2011 年 5 月发布 作者:Julien Ponge 本文介绍 Java 7 针对自动资源管理问题给出的解决办法,即 Coin 项目中提出的新语言结构 try-with-resources 语句. ...
最新文章
- 加速OA系统实施的四大要素
- 【noqsl】beansdb的分布式实现~简单粗暴有效~
- 博客园添加访问人数统计超详细教程
- [转]史上最全的CSS hack方式一览
- php异步传输,php 异步处理-上传文件
- spring四种依赖注入方式
- supervisor安装和配置
- 我的世界java版和基岩版对比_基岩版Beta1.11.0.1发布
- C#调用带结构体指针的C Dll的方法
- Asp.Net 4.0 SEO增强之UrlRouting
- Android学习——SharedPreferences
- k8s和mysql怎么通信_k8s中的网络通信总结
- Kafka原理以及分区分配策略剖析
- maven仓库repositories和mirrors的配置及区别详解(轻松搞明白)
- Linux下安装宋体
- WORD中的项目符号实例详解(多图)
- Mac升级python3版本
- 年末高压叠加“阳”后虚弱,双重压力下的测试者们该何去何从
- table表格数据绑定
- 整理-如何在solution manager里面删除未传到生产的请求