无法在java中写入文件,因为它正在使用System.out.println打印
输出是 运行: 123456生成成功(总时间:0秒) 但是在文件中没有数据是无法在java中写入文件,因为它正在使用System.out.println打印,java,file,bufferedwriter,Java,File,Bufferedwriter,输出是 运行: 123456生成成功(总时间:0秒) 但是在文件中没有数据是写入方法所做的: 通常,此方法将给定数组中的字符存储到 此流的缓冲区,将缓冲区刷新为底层流 需要 因此,它写入缓冲区,而不是直接写入文件。要使缓冲区刷新,您需要调用刷新或关闭方法,例如: File output=new File("C:\\\\MDU-1617-CSJ0098\\\\web\\\\products.txt"); BufferedWriter writer1 = new BufferedWriter(new
写入
方法所做的:
通常,此方法将给定数组中的字符存储到
此流的缓冲区,将缓冲区刷新为底层流
需要
因此,它写入缓冲区,而不是直接写入文件。要使缓冲区刷新
,您需要调用刷新
或关闭
方法,例如:
File output=new File("C:\\\\MDU-1617-CSJ0098\\\\web\\\\products.txt");
BufferedWriter writer1 = new BufferedWriter(new FileWriter(output));
while(q_set2.next()) {
String s = String.valueOf(q_set2.getInt(1));
System.out.print(s);
writer1.write(s);
writer1.newLine();
}
close()
在内部调用flush()
,因此,在这种情况下,不需要显式调用flush()
。是write
方法的功能:
通常,此方法将给定数组中的字符存储到
此流的缓冲区,将缓冲区刷新为底层流
需要
因此,它写入缓冲区,而不是直接写入文件。要使缓冲区刷新
,您需要调用刷新
或关闭
方法,例如:
File output=new File("C:\\\\MDU-1617-CSJ0098\\\\web\\\\products.txt");
BufferedWriter writer1 = new BufferedWriter(new FileWriter(output));
while(q_set2.next()) {
String s = String.valueOf(q_set2.getInt(1));
System.out.print(s);
writer1.write(s);
writer1.newLine();
}
close()
在内部调用flush()
,因此,在这种情况下,您不需要显式调用flush()
。当您调用writer1.write
时,您实际上并没有打印文件中的任何内容,而是将数据收集到内存中。收集完所有数据后,可以通过调用flush()
将所有数据一次写入文件
这是因为写入文件是一项代价高昂的操作,因此BufferedWriter
的设计方式使它能够方便地一次写入所有数据,而不是将其分块写入
这就是为什么你需要冲洗小溪
public void flush()引发IOException
冲过小溪
现在你可以
调用flush()
方法或
关闭小溪。这将自动调用flush()
方法
当您调用writer1.write
时,实际上并不是在打印文件中的任何内容,而是在将数据收集到内存中。收集完所有数据后,可以通过调用flush()
将所有数据一次写入文件
这是因为写入文件是一项代价高昂的操作,因此BufferedWriter
的设计方式使它能够方便地一次写入所有数据,而不是将其分块写入
这就是为什么你需要冲洗小溪
public void flush()引发IOException
冲过小溪
现在你可以
调用flush()
方法或
关闭小溪。这将自动调用flush()
方法
首先捕获IOException并使用如下路径“C:\MDU-1617-CSJ0098\web\products.txt”。是否关闭了BufferedWriter
?首先捕获IOException并使用如下路径“C:\MDU-1617-CSJ0098\web\products.txt”。是否关闭了BufferedWriter
?
File output=new File("C:\\\\MDU-1617-CSJ0098\\\\web\\\\products.txt");
BufferedWriter writer1 = new BufferedWriter(new FileWriter(output));
while(q_set2.next()) {
String s=String.valueOf(q_set2.getInt(1));
System.out.print(s);
writer1.write(s);
writer1.newLine();
}
writer1.flush(); // or writer1.close();