Java 将项目从JDK 1.7切换到1.6 BufferedReader
我不得不将我的学校项目JDK1.7改为1.6。我在1.6平台上创建了一个新项目,并复制了项目中的所有内容,似乎1.6不支持这种缓冲读取器,请提供帮助?我需要读取src中的文件。如果我使用扫描仪,我应该没事吗Java 将项目从JDK 1.7切换到1.6 BufferedReader,java,transfer,Java,Transfer,我不得不将我的学校项目JDK1.7改为1.6。我在1.6平台上创建了一个新项目,并复制了项目中的所有内容,似乎1.6不支持这种缓冲读取器,请提供帮助?我需要读取src中的文件。如果我使用扫描仪,我应该没事吗 try (BufferedReader br = new BufferedReader(new FileReader(sDataPath))){ Error " Resource specification not allowed here for source level below 1
try (BufferedReader br = new BufferedReader(new FileReader(sDataPath))){
Error " Resource specification not allowed here for source level below 1.7"
这不是
BufferedReader
的问题,而是您的问题,它是在Java7中引入的。您需要手动关闭读卡器:
BufferedReader reader = new BufferedReader(new FileReader(sDataPath));
try {
...
} finally {
reader.close();
}
另外,我建议不要使用FileReader
——使用InputStreamReader
包装FileInputStream
,以便指定编码
哦,如果允许您使用外部库,您可能会发现这将使您的资源处理更简单:)这不是
BufferedReader
的问题,而是Java 7中引入的。您需要手动关闭读卡器:
BufferedReader reader = new BufferedReader(new FileReader(sDataPath));
try {
...
} finally {
reader.close();
}
另外,我建议不要使用FileReader
——使用InputStreamReader
包装FileInputStream
,以便指定编码
哦,如果允许您使用外部库,您可能会发现这将使您的资源处理更简单:)Java7允许使用
try()
构造自动处理资源。Java6没有它。你需要写一些东西,比如:
BufferedReader br=null
try {
br = new BufferedReader(...); // create and use BufferedReader here
}
finally {
if(br!=null) br.close();
}
Java7允许使用
try()
构造自动处理资源。Java6没有它。你需要写一些东西,比如:
BufferedReader br=null
try {
br = new BufferedReader(...); // create and use BufferedReader here
}
finally {
if(br!=null) br.close();
}
非常感谢。我们不能使用外部库:/谢谢!我们不能使用外部库:/you在jsp中使用吗?you在jsp中使用吗?