java BufferedWriter写数据不完全
package com.brucekun.keyword; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; public class KeyWord { public static void main(String[] args) { BufferedReader br=null; BufferedWriter bw=null; try { //读入文件 br=new BufferedReader(new FileReader("g:/keyword.txt")); bw=new BufferedWriter(new FileWriter("g:/kw.txt")); String s=null; while((s=br.readLine())!=null) { int len=s.length(); if(len<=5){ bw.write("1\n"); } else{ bw.write("0\n"); } } bw.close(); br.close(); } catch (Exception e) { e.printStackTrace(); } } }
程序是读入一个关键字文件,每行有一个关键字,若这个关键字字符数小于等于5,则输入一个1在另一个文件中,否则,输入0在另一个文件中
程序运行后,发现会少三分之一的内容,网上查看错误,发现说BufferedWriter一开始是写到缓冲区的,需要.flush()方法,加上bw.flush()方法后,问题没有解决,待解决