求try finally 的资源释放,大家帮我解释一下 1.看下方法是否throws Exception了,否则的话肯定不合规范不能通过编译2.close方法本身会抛出异常(因为如果你已经关闭过一次了再关闭肯定是非法操作),所以需要捕获这个异常再进行处理。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 能给个典型的多流资源释放的代码例子吗?实在头大啊,1中的方法是声明抛出异常,可抛出异常不能解决私有变量is的资源释放问题啊因为有可能InputStream是全局变量,所以是在一个方法中new 在另一个方法中释放无论如何,没有主动释放的代码不是好代码这是肯定的典型的InputStream is = null;try { is = new FileInputStream(new File("text.txt")); ....} catch (Exception e) { e.printStackTrace();} finally { try { if(is != null) is.close(); } catch (Exception e2) { e2.printStackTrace(); is = null; }}纯手打代码,可能不一定准确但就是这么个意思 能给个典型的多流资源释放的代码例子吗?实在头大啊,1中的方法是声明抛出异常,可抛出异常不能解决私有变量is的资源释放问题啊因为有可能InputStream是全局变量,所以是在一个方法中new 在另一个方法中释放无论如何,没有主动释放的代码不是好代码这是肯定的典型的InputStream is = null;try { is = new FileInputStream(new File("text.txt")); ....} catch (Exception e) { e.printStackTrace();} finally { try { if(is != null) is.close(); } catch (Exception e2) { e2.printStackTrace(); is = null; }}纯手打代码,可能不一定准确但就是这么个意思如果有多个流要释放,那是不是要在finally块中写多个try块? Java7的特性try-with-resources可以写起来比较优雅try(InputStream is = new BufferedInputStream(new FileInputStream(xxx))){ //...}不用写finally,也不用里面再套个try-catch,自动给你close 能给个典型的多流资源释放的代码例子吗?实在头大啊,1中的方法是声明抛出异常,可抛出异常不能解决私有变量is的资源释放问题啊因为有可能InputStream是全局变量,所以是在一个方法中new 在另一个方法中释放无论如何,没有主动释放的代码不是好代码这是肯定的典型的InputStream is = null;try { is = new FileInputStream(new File("text.txt")); ....} catch (Exception e) { e.printStackTrace();} finally { try { if(is != null) is.close(); } catch (Exception e2) { e2.printStackTrace(); is = null; }}纯手打代码,可能不一定准确但就是这么个意思如果有多个流要释放,那是不是要在finally块中写多个try块?一个try也可以啊。要是异常的范围小可以 抛更大的异常 能给个典型的多流资源释放的代码例子吗?实在头大啊,1中的方法是声明抛出异常,可抛出异常不能解决私有变量is的资源释放问题啊因为有可能InputStream是全局变量,所以是在一个方法中new 在另一个方法中释放无论如何,没有主动释放的代码不是好代码这是肯定的典型的InputStream is = null;try { is = new FileInputStream(new File("text.txt")); ....} catch (Exception e) { e.printStackTrace();} finally { try { if(is != null) is.close(); } catch (Exception e2) { e2.printStackTrace(); is = null; }}纯手打代码,可能不一定准确但就是这么个意思如果有多个流要释放,那是不是要在finally块中写多个try块?一个try也可以啊。要是异常的范围小可以 抛更大的异常不是抛,是catch更大异常呵呵呵 你对整体的流程都不熟悉,try 这里是要处理异常的部分 catch 一旦发生异常 的处理部分 finally 不管发不发生异常都会执行 你那所谓 的异常没有得到处理, 才导致。。 能给个典型的多流资源释放的代码例子吗?实在头大啊,1中的方法是声明抛出异常,可抛出异常不能解决私有变量is的资源释放问题啊因为有可能InputStream是全局变量,所以是在一个方法中new 在另一个方法中释放无论如何,没有主动释放的代码不是好代码这是肯定的典型的InputStream is = null;try { is = new FileInputStream(new File("text.txt")); ....} catch (Exception e) { e.printStackTrace();} finally { try { if(is != null) is.close(); } catch (Exception e2) { e2.printStackTrace(); is = null; }}纯手打代码,可能不一定准确但就是这么个意思如果有多个流要释放,那是不是要在finally块中写多个try块?把所有的流的释放,放在一个try块就可以了,因为他们产生的异常都是一样,可以放在一起处理 能给个典型的多流资源释放的代码例子吗?实在头大啊,1中的方法是声明抛出异常,可抛出异常不能解决私有变量is的资源释放问题啊因为有可能InputStream是全局变量,所以是在一个方法中new 在另一个方法中释放无论如何,没有主动释放的代码不是好代码这是肯定的典型的InputStream is = null;try { is = new FileInputStream(new File("text.txt")); ....} catch (Exception e) { e.printStackTrace();} finally { try { if(is != null) is.close(); } catch (Exception e2) { e2.printStackTrace(); is = null; }}纯手打代码,可能不一定准确但就是这么个意思如果有多个流要释放,那是不是要在finally块中写多个try块?把所有的流的释放,放在一个try块就可以了,因为他们产生的异常都是一样,可以放在一起处理===================================我虽然接触java时间不长,但至少已经有10年的C#经验请解释一下吧,多个流一起关闭的问题:InputStream is = null;OutputStream os = null;try{ 使用is和os进行操作}finally{ try { os.close();//这里出现异常,是不是会抛出?那下面的is还会close吗?不应该每个单独try吗? is.close(); } catch(Exception ex){}} 本地html页面,如何生成bmp文件 初学JAVA,求方向 子类和父接口 学生求问 急,急,急!!!在字符串中添加分隔符 请问哪位老兄做过有关股票方面的程序啊? 关于线程,不懂.请教大家. [求助]JOptionPane与System.out.println() 请问能否把String[]转换成java.sql.Array型??? 谁能用java完整的实现:银行账户管理系统 大神求解 jvm有版本问题吗
1中的方法是声明抛出异常,可抛出异常不能解决私有变量is的资源释放问题啊
因为有可能InputStream是全局变量,所以是在一个方法中new 在另一个方法中释放
无论如何,没有主动释放的代码不是好代码这是肯定的
典型的
InputStream is = null;
try {
is = new FileInputStream(new File("text.txt"));
....
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if(is != null)
is.close();
} catch (Exception e2) {
e2.printStackTrace();
is = null;
}
}
纯手打代码,可能不一定准确但就是这么个意思
1中的方法是声明抛出异常,可抛出异常不能解决私有变量is的资源释放问题啊
因为有可能InputStream是全局变量,所以是在一个方法中new 在另一个方法中释放
无论如何,没有主动释放的代码不是好代码这是肯定的
典型的
InputStream is = null;
try {
is = new FileInputStream(new File("text.txt"));
....
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if(is != null)
is.close();
} catch (Exception e2) {
e2.printStackTrace();
is = null;
}
}
纯手打代码,可能不一定准确但就是这么个意思
如果有多个流要释放,那是不是要在finally块中写多个try块?
try(InputStream is = new BufferedInputStream(new FileInputStream(xxx))){
//...
}
不用写finally,也不用里面再套个try-catch,自动给你close
1中的方法是声明抛出异常,可抛出异常不能解决私有变量is的资源释放问题啊
因为有可能InputStream是全局变量,所以是在一个方法中new 在另一个方法中释放
无论如何,没有主动释放的代码不是好代码这是肯定的
典型的
InputStream is = null;
try {
is = new FileInputStream(new File("text.txt"));
....
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if(is != null)
is.close();
} catch (Exception e2) {
e2.printStackTrace();
is = null;
}
}
纯手打代码,可能不一定准确但就是这么个意思
如果有多个流要释放,那是不是要在finally块中写多个try块?一个try也可以啊。要是异常的范围小可以 抛更大的异常
1中的方法是声明抛出异常,可抛出异常不能解决私有变量is的资源释放问题啊
因为有可能InputStream是全局变量,所以是在一个方法中new 在另一个方法中释放
无论如何,没有主动释放的代码不是好代码这是肯定的
典型的
InputStream is = null;
try {
is = new FileInputStream(new File("text.txt"));
....
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if(is != null)
is.close();
} catch (Exception e2) {
e2.printStackTrace();
is = null;
}
}
纯手打代码,可能不一定准确但就是这么个意思
如果有多个流要释放,那是不是要在finally块中写多个try块?一个try也可以啊。要是异常的范围小可以 抛更大的异常
不是抛,是catch更大异常呵呵呵
finally 不管发不发生异常都会执行 你那所谓 的异常没有得到处理, 才导致。。
1中的方法是声明抛出异常,可抛出异常不能解决私有变量is的资源释放问题啊
因为有可能InputStream是全局变量,所以是在一个方法中new 在另一个方法中释放
无论如何,没有主动释放的代码不是好代码这是肯定的
典型的
InputStream is = null;
try {
is = new FileInputStream(new File("text.txt"));
....
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if(is != null)
is.close();
} catch (Exception e2) {
e2.printStackTrace();
is = null;
}
}
纯手打代码,可能不一定准确但就是这么个意思
如果有多个流要释放,那是不是要在finally块中写多个try块?
把所有的流的释放,放在一个try块就可以了,因为他们产生的异常都是一样,可以放在一起处理
能给个典型的多流资源释放的代码例子吗?实在头大啊,
1中的方法是声明抛出异常,可抛出异常不能解决私有变量is的资源释放问题啊
因为有可能InputStream是全局变量,所以是在一个方法中new 在另一个方法中释放
无论如何,没有主动释放的代码不是好代码这是肯定的
典型的
InputStream is = null;
try {
is = new FileInputStream(new File("text.txt"));
....
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if(is != null)
is.close();
} catch (Exception e2) {
e2.printStackTrace();
is = null;
}
}
纯手打代码,可能不一定准确但就是这么个意思
如果有多个流要释放,那是不是要在finally块中写多个try块?
把所有的流的释放,放在一个try块就可以了,因为他们产生的异常都是一样,可以放在一起处理
===================================
我虽然接触java时间不长,但至少已经有10年的C#经验
请解释一下吧,多个流一起关闭的问题:
InputStream is = null;
OutputStream os = null;
try
{
使用is和os进行操作
}
finally
{
try
{
os.close();//这里出现异常,是不是会抛出?那下面的is还会close吗?不应该每个单独try吗?
is.close();
}
catch(Exception ex){}
}