请问JAVA中哪个类可以实现按行追加功能.下面的代码有点问题,程序运行完,发现写在CCLoadStr.txt文件中的数据只有数组中的最后一行,好像后面的数据就把前面的覆盖了.
String output ="";
String[] src ={"994|123|17|0|10|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|6|1|4|1|0|0|0|0|0|7|1|4|1|0|0|0|0|0|0|0|0|0|0|0|0|0|582|0|0|0|0|0|0|0|0|0|0|0|0|0|31|257|19|257|0|0|0|0|0|7|0|0|0|0|0|0|0|0|0|0|0|",
"999|365|22|0|20|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|12|1|9|1|0|0|0|0|0|10|1|6|1|0|0|0|0|0|0|0|0|0|0|0|0|0|115|0|0|0|0|0|0|0|0|0|0|0|0|0|10|257|5|257|0|0|0|0|0|4|2|2|0|0|0|0|0|0|0|0|0"};
for(int i=0;i<src.length;i++){
System.out.println(src[i]);
BufferedWriter br =null;
try{
br=new BufferedWriter(new FileWriter(new File("CCLoadStr.txt")));
br.write(src[i]);
br.newLine();
br.flush();
}catch(IOException ex){
ex.printStackTrace();
}finally{
try{
br.close();
}catch(IOException ex){
ex.printStackTrace();
}
} }
String output ="";
String[] src ={"994|123|17|0|10|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|6|1|4|1|0|0|0|0|0|7|1|4|1|0|0|0|0|0|0|0|0|0|0|0|0|0|582|0|0|0|0|0|0|0|0|0|0|0|0|0|31|257|19|257|0|0|0|0|0|7|0|0|0|0|0|0|0|0|0|0|0|",
"999|365|22|0|20|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|12|1|9|1|0|0|0|0|0|10|1|6|1|0|0|0|0|0|0|0|0|0|0|0|0|0|115|0|0|0|0|0|0|0|0|0|0|0|0|0|10|257|5|257|0|0|0|0|0|4|2|2|0|0|0|0|0|0|0|0|0"};
for(int i=0;i<src.length;i++){
System.out.println(src[i]);
BufferedWriter br =null;
try{
br=new BufferedWriter(new FileWriter(new File("CCLoadStr.txt")));
br.write(src[i]);
br.newLine();
br.flush();
}catch(IOException ex){
ex.printStackTrace();
}finally{
try{
br.close();
}catch(IOException ex){
ex.printStackTrace();
}
} }
解决方案 »
- 新手问题,帮解决一下,谢谢。
- 手机游戏公司【诚聘】jsp开发精英
- java.sql.Date和java.util.Date类型疑惑
- JScrollBar 在JDialog中 为JScrollBar添加AdjustmentListener 不起作用
- 求助!一道关于I/O的问题
- 数据库事物问题?
- 怎样把字符串数组转成用,分割的字符串
- 使用websphere带的J2RE 1.4.1 IBM Windows 32 build cn1411-20031011,运行application,连接access出错!!!!
- 一个 java 解密的问题
- 怎么编写一个不规则的表格,请教高手!
- Java小问题
- JAVA问题,请教高手!
我发现append效果一样的,还是被覆盖了.
呵呵,不知道你有没有试过,PrintWriter也是被覆盖了.
pr=new PrintWriter(new FileWriter(new File("CCsLoadStr.txt")));
pr.write(src[i]);
pr.flush();
--------
可以移动文件指针去追加
写在循环外面
RandomAccessFile raf=new RandomAccessFile("CCLoadStr.txt","rw");
for(int i=0;i<src.length;i++){
raf.write(str[i].getBytes());
raf.seek(raf.length());//将记录指针移动到文件的最后
}
呵呵,代码是随手写的。有些函数可以查查API
如果设为true的话,当我多次运行程序,就会一直往同一个文件里追加。