- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想知道为什么我会在新的 eclipse Juno 上收到这个警告,尽管我认为我正确地关闭了所有内容。您能告诉我为什么我会在以下代码中收到此警告吗?
public static boolean copyFile(String fileSource, String fileDestination)
{
try
{
// Create channel on the source (the line below generates a warning unassigned closeable value)
FileChannel srcChannel = new FileInputStream(fileSource).getChannel();
// Create channel on the destination (the line below generates a warning unassigned closeable value)
FileChannel dstChannel = new FileOutputStream(fileDestination).getChannel();
// Copy file contents from source to destination
dstChannel.transferFrom(srcChannel, 0, srcChannel.size());
// Close the channels
srcChannel.close();
dstChannel.close();
return true;
}
catch (IOException e)
{
return false;
}
}
最佳答案
如果您在 Java 7 上运行,您可以像这样使用新的 try-with-resources block ,您的流将自动关闭:
public static boolean copyFile(String fileSource, String fileDestination)
{
try(
FileInputStream srcStream = new FileInputStream(fileSource);
FileOutputStream dstStream = new FileOutputStream(fileDestination) )
{
dstStream.getChannel().transferFrom(srcStream.getChannel(), 0, srcStream.getChannel().size());
return true;
}
catch (IOException e)
{
return false;
}
}
您不需要显式关闭底层 channel 。但是,如果您不使用 Java 7,则应使用 finally block 以繁琐的旧方式编写代码:
public static boolean copyFile(String fileSource, String fileDestination)
{
FileInputStream srcStream=null;
FileOutputStream dstStream=null;
try {
srcStream = new FileInputStream(fileSource);
dstStream = new FileOutputStream(fileDestination)
dstStream.getChannel().transferFrom(srcStream.getChannel(), 0, srcStream.getChannel().size());
return true;
}
catch (IOException e)
{
return false;
} finally {
try { srcStream.close(); } catch (Exception e) {}
try { dstStream.close(); } catch (Exception e) {}
}
}
看看 Java 7 版本有多好:)
关于java - eclipse 朱诺 : unassigned closeable value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11841033/
我想我在开发 Android 应用程序时按下了某些东西。奇怪的字符出现了,我可以弄清楚如何摆脱它们。当我尝试编码时,它们会分散我的注意力。有人可以帮忙吗?我得到了一些角色的屏幕截图。 不确定我按下了什
不幸的是,Eclipse 插件的最新更新放弃了 Inigo 并安装了 Juno。我花了很多时间让它看起来像以前的版本,但我无法设法改变蓝色标签的颜色。知道这是哪个设置或 CSS 吗? [更新]有更改颜
版本:Eclipse 4.2 代号:Juno 我在 Eclipse 4.2 中没有看到快速查看栏。我无法右键单击 View 并启用快速 View 。常规 -> 透视下的快速查看选项没有任何作用。 快速
我按照此处指定的 Juno 安装说明进行操作:https://github.com/JunoLab/atom-julia-client/tree/master/manual 我运行了以下命令: Pkg
我想知道为什么我会在新的 eclipse Juno 上收到这个警告,尽管我认为我正确地关闭了所有内容。您能告诉我为什么我会在以下代码中收到此警告吗? public static boolean cop
我正在尝试通过 CSS 样式表简单地更新 Eclipse Juno 4.2 的外观。我看过几个教程,还有一个 stackoverflow 问题: http://www.vogella.com/arti
我刚刚安装了 Eclipse Juno 并正在尝试创建一个简单的 Hello World C++ 项目。我也安装了 autoconf,但是我得到了错误: Error 127 occurred whil
从 Indigo 切换到 Ubuntu 12.04 后,使用最新的 Eclipse Juno 会遇到各种问题。 我在以下位置设置了标志: 项目 -> 属性 -> C/C++ 构建 -> 设置 -> 工
在部分堆栈中,我有部分 View 。 ,并且每个 View 都有最小化/最大化按钮, 有什么办法可以隐藏某些特定 View 部分的最小化/最大化按钮吗? 最佳答案 这是 e4 中的一个错误: http
我尝试在 eclipse RCP 中更新软件,但出现此错误。 错误日志显示某些 feature.xml 文件丢失。 我打开其中一个错误日志找到了这个。 实际上,features 目录中的某些文件名不是
我是一名优秀的程序员,十分优秀!