導航:首頁 > 編程語言 > 修改文件內容java

修改文件內容java

發布時間:2022-08-02 06:10:44

java如何讀取並修改txt文件

Java IO系統里讀寫文件使用Reader和Writer兩個抽象類,Reader中read()和close()方法都是抽象方法。Writer中 write(),flush()和close()方法為抽象方法。子類應該分別實現他們。
Java IO已經為我們提供了三個方便的Reader的實現類,FileReader,InputStreamReader和BufferedReader。其中最重要的類是InputStreamReader, 它是位元組轉換為字元的橋梁。你可以在構造器重指定編碼的方式,如果不指定的話將採用底層操作系統的默認編碼方式,例如GBK等。
FileReader讀txt文件例子
FileReader fr = new FileReader("D:/Test.txt");
int ch = 0;
while((ch = fr.read())!=-1 ){
System.out.print( (char)ch );
}
其中read()方法返回的是讀取得下個字元。

InputStreamReader讀txt文件例子
InputStream is = new FileInputStream(new File("D:/Test.txt"));
InputStreamReader fr = new InputStreamReader(is);
int ch = 0;
while((ch = fr.read())!=-1 ){
System.out.print((char)ch);
}
這和FileReader並沒有什麼區別,事實上在FileReader中的方法都是從InputStreamReader中繼承過來的。 read()方法是比較好費時間的,如果為了提高效率,我們可以使用BufferedReader對Reader進行包裝,這樣可以提高讀取得速度,我們可以一行一行的讀取文本,使用 readLine()方法。
BufferedReader br = new BufferedReader(new FileReader("Test.txt")));
String data = br.readLine();//一次讀入一行,直到讀入null為文件結束
while( data!=null){
System.out.println(data);
data = br.readLine(); //接著讀下一行
}
當你明白了如何用Reader來讀取文本文件的時候那麼用Writer寫文件同樣非常簡單。有一點需要注意,當你寫文件的時候,為了提高效率,寫入的數據會先放入緩沖區,然後寫入文件。因此有時候你需要主動調用flush()方法。

有讀就有寫,寫文本文件可以使用PrintWriter,FileWriter,BufferedWriter。
FileWriter fw = new FileWriter("D:/Test.txt");
String s = "hello world";
fw.write(s,0,s.length());
fw.flush();

OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("D:/Test1.txt"));
osw.write(s,0,s.length());
osw.flush();

PrintWriter pw = new PrintWriter(new OutputStreamWriter(new FileOutputStream("D:/Test2.txt")),true);
pw.println(s);

fw.close();
osw.close();
pw.close();
如果想接著寫入某個文件。 聲明時FileWriter fw = new FileWriter("log.txt",true);加個true就可以了。
File file = new File("D:/Test.txt");
File dest = new File("D:/new.txt");
try {
BufferedReader reader = new BufferedReader(new FileReader(file));
BufferedWriter writer = new BufferedWriter(new FileWriter(dest));
String line = reader.readLine();
while(line!=null){
writer.write(line);
line = reader.readLine();
}
writer.flush();
reader.close();
writer.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

❷ java怎麼修改文本文件每行里的某一內容

1.把整個TXT文件讀取出來(FileReader)存到一個String對象里!
2.正則替換String對象,替換表達式。比如
String
a
=
"13730000666";
String
b
=
a.replaceAll("(\\d{4})(\\d{4})(\\d{3})","$1****$3");
System.out.println(b);
輸出:
1373****666
3.再將String對象寫回TXT文件。

❸ java怎樣高效修改文件部分內容

個人認為,Java修改文件,肯定是要用到IO流,如果文件比較大,肯定會影響到IO流讀寫的效率,如果是文件信息量非常龐大的,可按小時,分時間段分開保存到不同的文件,讀寫是務必使用StringBuffer 類,它有高速緩存,能很高的提高讀寫效率。希望能幫到你

❹ java 文本文件部分內容修改

整體思路如下:

1、用FileInputStream讀取文件內容;
2、修改內容,string操作;
3、用FileOutputStream寫文件內容;

參考例子如一下:

importjava.io.*;

publicclassTestBufferStream{
publicstaticvoidmain(String[]args){
try{
BufferedReaderin=newBufferedReader(newFileReader("in.txt"));
BufferedWriterout=newBufferedWriter(newFileWriter("out.txt"));
Strings=null;
while((s=in.readLine())!=null){
out.write(s);
out.newLine();
}
out.flush();
in.close();
out.close();
}catch(IOExceptione){
e.printStackTrace();
}

}
}

❺ Java 如何修改文件的某一行內容

importjava.io.BufferedReader;
importjava.io.File;
importjava.io.FileNotFoundException;
importjava.io.FileReader;
importjava.io.FileWriter;
importjava.io.IOException;
importjava.io.PrintWriter;
publicclassDay02_B{
staticStringpath="K:/Test/Name.txt";//路徑
publicstaticvoidmain(String[]args){
FilefileText=newFile(path);//文件
if(fileText.canExecute())//如果文件存在就繼續
setText(fileText,"剛","xx");//「剛」指定改為:「XX」
}
privatestaticvoidsetText(FilefileText,Stringtarget,Stringsrc){//修改
BufferedReaderbr=null;
PrintWriterpw=null;
StringBufferbuff=newStringBuffer();//臨時容器!
Stringline=System.getProperty("line.separator");//平台換行!
try{
br=newBufferedReader(newFileReader(fileText));
for(Stringstr=br.readLine();str!=null;str=br.readLine()){
if(str.contains(target))
str=str.replaceAll(target,src);
buff.append(str+line);
}
pw=newPrintWriter(newFileWriter(fileText),true);
pw.println(buff);
}catch(FileNotFoundExceptione){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}finally{
if(br!=null)
try{
br.close();
}catch(IOExceptione){
e.printStackTrace();
}
if(pw!=null)
pw.close();
}
}
}

❻ java怎樣高效修改文件部分內容

整體思路如下:
1、用 FileInputStream 讀取文件內容;
2、修改內容,string操作;
3、用 FileOutputStream 寫文件內容;
參考例子如一下:
import java.io.*;

public class TestBufferStream{
public static void main(String[] args){
try{
BufferedReader in = new BufferedReader(new FileReader("in.txt"));
BufferedWriter out = new BufferedWriter(new FileWriter("out.txt"));
String s = null;
while((s = in.readLine()) != null){
out.write(s);
out.newLine();
}
out.flush();
in.close();
out.close();
}catch(IOException e){
e.printStackTrace();
}

}
}

❼ java中如何修改文本文件內容

可以定義一個類
class Player implements Serializable{
private String name;
private int score;
...
}
游戲結束時,讀取歷史最高分數信息創建Player對象(如果存在),與當前的游戲的Player比較游戲得分。如果當前成玩家的游戲分數高,則把當前玩家對象寫入文件,覆蓋原來文件的內容。否則,do nothing!

❽ java 更改文件內容

import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.OutputStreamWriter;

public class FileInOutput {

/**
* @param args
*/
public static void main(String[] args) {
try {
BufferedReader br = new BufferedReader(new FileReader("d:\\tt.cvs"));
File f = new java.io.File("d:\\mm.cvs");
FileOutputStream fos = new FileOutputStream(f);
OutputStreamWriter osw = new OutputStreamWriter(fos);
if(osw == null) System.out.println("osw is null");
br.readLine();
int c = 0;
while(true)
{
c = br.read();
if(c == -1) break;
if(c =='\"') continue;
osw.write(c);
}
br.close();
osw.close();
fos.close();
System.out.println("操作完成");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

}

❾ java 修改java文件的內容

不懂你的意思呃,是要修改.java文件嗎,直接 用io讀取和寫文件,用字元串比較定位要修改的內容不就完了嗎,就當和txt文件一樣操作....

閱讀全文

與修改文件內容java相關的資料

熱點內容
安卓手機如何擁有蘋果手機橫條 瀏覽:755
業余編程語言哪個好學 瀏覽:131
按照文件夾分個壓縮 瀏覽:102
航空工業出版社單片機原理及應用 瀏覽:756
如何在電信app上綁定親情號 瀏覽:374
安卓的怎麼用原相機拍月亮 瀏覽:803
配音秀為什麼顯示伺服器去配音了 瀏覽:755
c盤清理壓縮舊文件 瀏覽:325
app怎麼交付 瀏覽:343
圖蟲app怎麼才能轉到金幣 瀏覽:175
如何做徵文app 瀏覽:446
用什麼app管理斐訊 瀏覽:169
安卓如何下載寶可夢劍盾 瀏覽:166
編譯器開發屬於哪個方向 瀏覽:940
megawin單片機 瀏覽:687
以色列加密貨幣監督 瀏覽:909
程序員前端現在怎麼樣 瀏覽:499
伺服器和介面地址ping不通 瀏覽:557
linux命令返回上級目錄 瀏覽:899
移動花卡寶藏版為什麼不能選免流app 瀏覽:257