1

Web ページを読み取って .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();
4

2 に答える 2

1

読み取り/書き込みループでスローされる間に例外がある可能性があります。その場合close()、プログラムの 1 回の実行で同じファイル名を再利用している場合、問題を説明する呼び出しは発生しません。

これを修正するにはclose()、finally ブロックで、読み取り/書き込みループをラップしてみてください。

于 2013-05-21T18:52:04.593 に答える