後,下面的代碼不會打印最後一部分的文本文件如下:爲什麼。我
.I 1
some text
.I 2
some text
.I 3
some text
........
下面的代碼使用StringBuilder的線追加。下面的代碼拆分上面的文本文件,並找到它時創建多個文件。我
但問題是當我運行的代碼,它不創建文件的最後.I 它有1400。 。所以應該有1400個文本文件。但它產生1399個文本文件。 最新的問題?我找不到問題。
public class Test {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
String inputFile="C:\\logs\\test.txt";
BufferedReader br = new BufferedReader(new FileReader(new File(inputFile)));
String line=null;
StringBuilder sb = new StringBuilder();
int count=1;
try {
while((line = br.readLine()) != null){
if(line.startsWith(".I")){
if(sb.length()!=0){
File file = new File("C:\\logs\\DOC_ID_"+count+".txt");
PrintWriter writer = new PrintWriter(file, "UTF-8");
writer.println(sb.toString());
writer.close();
sb.delete(0, sb.length());
count++;
}
continue;
}
sb.append(line);
}
} catch (Exception ex) {
ex.printStackTrace();
}
finally {
br.close();
}
}
}
是的,我明白了這一點 –