请问如何在一个非空文件后,追加写数据(用 FileWriter)
请问如何在指定的位置写数据 FileWriter
现在做一个实事Log文件,
希望在不同的时候时候,向一个文件里写数据。
问题是现在只能写一行,望高人看看我的代码。
fileWrite.write(strOneLine,nLogSize,nOneLineSize);
//nLogSize `现有文件的行
//strOneLine `log 信息,如启动,退出
try{
java.io.FileWriter fileWrite = new java.io.FileWriter(strLogFileName);
String strOneLine = strTime + strLogInfo;
strOneLine = strOneLine + "\n ";
if(nLogSize == 0){
fileWrite.write(strOneLine);
}else{
int nOneLineSize = strOneLine.length();
fileWrite.write(strOneLine,nLogSize,nOneLineSize);
}
fileWrite.close();
}catch(IOException eIO){
eIO.printStackTrace();
}catch(Exception eE){
eE.printStackTrace();
}
[解决办法]
你不就是想在log文件里追加内容吗
FileWriter fw=null;
try{
fw=new FileWriter( "e:\\a.txt ",true);
fw.write( "aaaaaaaaaaa ");
fw.flush();
}catch(Exception e){
}finally{
if(fw!=null){
try{fw.close();}catch(Exception e){}
}
}
这样就可以了
[解决办法]
请问如何在指定的位置写数据
用RandomAccessFile实现
在网上帮你搜了个小例子
import java.io.IOException;
import java.io.RandomAccessFile;
public class RandomAccessFileTest {
public RandomAccessFileTest() {
try {
RandomAccessFile dos = new RandomAccessFile( "tmp1 ", "rw ");
dos.writeInt(1);
dos.seek(0);
System.out.println(dos.readInt());
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String xx[]) {
new RandomAccessFileTest();
}
}
[解决办法]
java.io.FileReader fileRead = new java.io.FileReader(sourcefile, true);
这样就是以添加方式打开啊
[解决办法]
参数的意思是,往fileWriter中写入 str中的第off个字符开始,共len个字符