我希望读取URL的内容并将其写入文件,这可以按预期工作,但是即使程序控制台显示多行,也只能将其写入一次。
代码:
PrintWriter writer = new PrintWriter("the-file-name.txt", "UTF-8");
while(true) {
URL oracle = new URL("https://linkToData.com");
BufferedReader in = new BufferedReader(new InputStreamReader(oracle.openStream()));
String inputLine;
while ((inputLine = in.readLine()) != null) {
writer.println(inputLine);
System.out.println(inputLine);
}
writer.close();
URL中的数据不断刷新,因此每次控制台打印显示时都应该有不同的数据,但这只是将第一个实例写入文件中。
答案 0 :(得分:1)
密钥是writer.close()
!如果您想每次都重新写入文件,则必须每次重新打开Writer
。
答案 1 :(得分:0)
如果您想每次都添加文件,则必须刷新writer而不是关闭并在最后关闭。
PrintWriter writer = new PrintWriter("the-file-name.txt", "UTF-8");
while(condition) {
URL oracle = new URL("https://linkToData.com");
BufferedReader in = new BufferedReader(new InputStreamReader(oracle.openStream()));
String inputLine;
while ((inputLine = in.readLine()) != null) {
writer.println(inputLine);
System.out.println(inputLine);
}
writer.flush();
}
writer.close();