bufferedwriter没有写入文件。请任何人都可以告诉我可能是什么问题
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Writer;
public class main {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
Writer output = null;
File file = new File("D:/junk/CI_CSSOIDs sql_query/orphans.log");
output = new BufferedWriter(new FileWriter(file));
java.io.FileReader fr = new FileReader( "D:/junk/CI_CSSOIDs ql_query/SQL_CSSO.log" ) ;
java.io.BufferedReader reader = new BufferedReader( fr ) ;
int orphancount=0;
String line = null ;
int count =1;
while( ( line = reader.readLine() ) != null )
{
String words[]=line.split(" ");
for (int i =0;i<words.length;i++){
if (words[i].length()==32){
String CIline=null;
java.io.FileReader CIfr = new FileReader( "D:/junk/CI_CSSOIDs sql_query/CI.log" ) ;
java.io.BufferedReader CIreader = new BufferedReader( CIfr ) ;
boolean orphan = true;
while((CIline=CIreader.readLine())!=null){
if (CIline.contains(words[i])){
orphan=false;
break;
}
}
if(orphan){
orphancount++;
output.write("####"+words[i]+"*****\n");
System.out.println(words[i]+" : is an orphan CSSOID");
}
}
}
count++;
}
System.out.println("Orphan count is :"+orphancount);
}
}
答案 0 :(得分:3)
在向其写入数据后,尝试flush()
然后close()
您的BufferedWriter。
答案 1 :(得分:2)
BufferedWriter
缓冲区写入。这意味着它会将数据保留在内存中,直到缓冲区耗尽或刷新/关闭编写器。这样做是为了提高性能。
我建议您关闭所有的流/读者/编写者,这也将解决您的问题。
答案 2 :(得分:2)
写完后关闭BufferedWriter
。
output.close();
答案 3 :(得分:2)
你既不刷新()也不关闭()作家。由于它是一个缓冲编写器,所以所有东西都存储在缓冲区中,直到你执行其中一个。