繁体   English   中英

将项目从JDK 1.7切换到1.6 BufferedReader

[英]Switching project from JDK 1.7 to 1.6 BufferedReader

我必须将学校项目JDK 1.7切换到1.6。 我在平台1.6上创建了一个新项目,然后将所有文件打包复制到我的项目中,似乎1.6不支持这种缓冲读取器,请问有什么帮助吗? 我需要从src中的文件读取。 如果我使用Scanner,应该可以吗?

try (BufferedReader br = new BufferedReader(new FileReader(sDataPath))){

Error " Resource specification not allowed here for source level below 1.7" 

BufferedReader并不是问题,这是Java 7中引入的try-with-resources语句 。您需要手动关闭阅读器:

BufferedReader reader = new BufferedReader(new FileReader(sDataPath));
try {
    ...
} finally {
    reader.close();
}

顺便说一句,我建议不要使用FileReader -使用InputStreamReader包装一FileInputStream这样你就可以指定编码。

哦,而且如果您被允许使用外部库,您可能会发现Guava将使您的资源处理更加简单:)

Java 7允许使用try()构造自动处理资源。 Java 6没有它。 您需要编写如下内容:

BufferedReader br=null
try {
    br = new BufferedReader(...); // create and use BufferedReader here
}
finally {
    if(br!=null) br.close();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM