我编写了一段代码,可以读取网页并将其传输到 .txt 文件中。问题是输出文件(something.txt)被锁定(如果有帮助的话我使用OS X)。我发现未关闭的 BufferedReader() 可能有问题,但它似乎已关闭。谢谢。
PrintStream ps = new PrintStream(new File("/Users/MyName/Desktop/something.txt"));
URL myUrl = new URL("webPage");
BufferedReader in = new BufferedReader(new InputStreamReader(myUrl.openStream()));
String inputLine;
while ((inputLine = in.readLine()) != null) {
ps.println(inputLine);
System.out.println(inputLine);
}
in.close();
ps.close();
最佳答案
如果您使用的是 Java 7,那么最好的方法是 try-with-resources
,它保证 in
和 ps
都将关闭
try (PrintStream ps = new PrintStream(new File("/Users/MyName/Desktop/something.txt"));
BufferedReader in = new BufferedReader(new InputStreamReader(
new URL("webPage").openStream()))) {
String inputLine;
while ((inputLine = in.readLine()) != null) {
ps.println(inputLine);
System.out.println(inputLine);
}
}
关于java - 关闭 BufferedReader()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16677353/