導航:首頁 > 編程語言 > java追加寫文件

java追加寫文件

發布時間:2024-07-19 08:42:12

java文件讀寫 在一個已經有內容的文件中追加第一行 如何做到

如果要在已有內容的文件開頭插入內容就只能先把原內容讀出來,然後先寫入要插入的東西,然後再把原內容寫回去,然後關閉輸出流

如果要在已有內容的文件末尾追加內容就比較簡單了

在創建FileOutputStream對象的時候第二個參數給個true,就表示續寫文件,而非覆蓋文件已有內容了

newFileOutputStream(file,true)

❷ java:往文件中寫數據,新寫入的數據總是覆蓋原有數據,怎麼能實現追加功能呢

File file=new File("f:/a.txt");
BufferedWriter bw=null;
try {
bw=new BufferedWriter(new FileWriter(file,true));
bw.write("efg");
bw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
這里關鍵代碼bw=new BufferedWriter(new FileWriter(file,true));
後面參數的true,就代表即使a.txt裡面有內容,也不會替換。

❸ java 一個文件內容寫入或追加到另一個文件和一個文件內容復制到另一個文件在方法上有什麼區別嗎

樓上的審題,人家題主問的是「文件追加寫入」和「文件復制」有沒有區別,不是問你怎麼實現文件追加復制。
我覺得吧這個得看你的兩段代碼了,其實想來是沒有區別的,復制的本質還是先讀文件,再把讀出來的東西寫到目標文件了。關鍵在於調用write()方法時追加標志append是true還是false,追加標志默認是false的,也就是不追加,直接覆蓋目標文件。

❹ java如何追加寫入txt文件

java中,對文件進行追加內容操作的三種方法!

importjava.io.BufferedWriter;
importjava.io.FileOutputStream;
importjava.io.FileWriter;
importjava.io.IOException;
importjava.io.OutputStreamWriter;
importjava.io.PrintWriter;
importjava.io.RandomAccessFile;
//如果文件存在,則追加內容;如果文件不存在,則創建文件,追加內容的三種方法
{
@SuppressWarnings("static-access")
publicstaticvoidmain(String[]args){
AppendContentToFilea=newAppendContentToFile();
a.method1();
a.method2("E:\dd.txt","222222222222222");
a.method3("E:\dd.txt","33333333333");
}

方法1:

publicvoidmethod1(){
FileWriterfw=null;
try{
//如果文件存在,則追加內容;如果文件不存在,則創建文件
Filef=newFile("E:\dd.txt");
fw=newFileWriter(f,true);
}catch(IOExceptione){
e.printStackTrace();
}
PrintWriterpw=newPrintWriter(fw);
pw.println("追加內容");
pw.flush();
try{
fw.flush();
pw.close();
fw.close();
}catch(IOExceptione){
e.printStackTrace();
}
}

方法2:

publicstaticvoidmethod2(Stringfile,Stringconent){
BufferedWriterout=null;
try{
out=newBufferedWriter(newOutputStreamWriter(
newFileOutputStream(file,true)));
out.write(conent+" ");
}catch(Exceptione){
e.printStackTrace();
}finally{
try{
out.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
}

方法3:

publicstaticvoidmethod3(StringfileName,Stringcontent){
try{
//打開一個隨機訪問文件流,按讀寫方式
RandomAccessFilerandomFile=newRandomAccessFile(fileName,"rw");
//文件長度,位元組數
longfileLength=randomFile.length();
//將寫文件指針移到文件尾。
randomFile.seek(fileLength);
randomFile.writeBytes(content+" ");
randomFile.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
}

❺ java文件讀寫 在一個已經有內容的文件中 追加第一行 如何做到

我的想法是可以用RandomAccessFile,這個類的seek方法,想在文件的哪個位置插入內容都行。所以你的第一行就不在話下了。但是,這個會覆蓋你文件中插入位置後面的內容。相當於我們在輸入的時候,按了鍵盤的insert鍵盤。所以,像你這種情況只能用臨時文件來存儲原有的內容,然後把要插入的數據寫入文件,再把臨時文件的內容追加到文件中。
void insert(String filename,int pos,String insertContent){//pos是插入的位置
File tmp = File.createTempFile("tmp",null);
tmp.deleteOnExit();
try{
RandomAccessFile raf = new RandomAccessFile(filename,"rw");
FileOutputStream tmpOut = new FileOutputStream(tmp);
FileInputStream tmpIn = new FileInputStream(tmp);
raf.seek(pos);//首先的話是0
byte[] buf = new byte[64];
int hasRead = 0;
while((hasRead = raf.read(buf))>0){
//把原有內容讀入臨時文件
tmpOut.write(buf,0,hasRead);

}
raf.seek(pos);
raf.write(insertContent.getBytes());
//追加臨時文件的內容
while((hasRead = tmpIn.read(buf))>0){
raf.write(buf,0,hasRead);
}
}
}

閱讀全文

與java追加寫文件相關的資料

熱點內容
一張圖看懂老程序員 瀏覽:834
程序員那麼可愛電視劇由什麼改編 瀏覽:847
app位置信息怎麼改 瀏覽:486
linuxtomcat查看埠佔用 瀏覽:24
伺服器的網路如何設置 瀏覽:502
cad加密的圖紙打不開 瀏覽:625
php開發參考文獻 瀏覽:14
linuxmysql驅動安裝 瀏覽:19
android推薦書 瀏覽:590
加密裁判怎麼做 瀏覽:579
app更新怎麼選擇更新途徑 瀏覽:786
什麼叫專屬獨立伺服器 瀏覽:309
程序員學吉他的好處 瀏覽:708
重要的文件夾刪除了怎麼找回 瀏覽:372
ecshop源碼論壇 瀏覽:594
編譯原理DAG例子 瀏覽:165
光谷程序員的酒店 瀏覽:8
客戶端密碼存在文件夾哪個位置 瀏覽:380
怎麼把程序員的工作說的高大上 瀏覽:723
解壓包如何加密 瀏覽:158