導航:首頁 > 編程語言 > java修改txt

java修改txt

發布時間:2022-09-21 00:45:06

java如何刪除或者修改txt最後一行數據

給你個思路吧,代碼自己寫哦
方案1:
1、文檔不大的話,直接全部讀出來,就是一個字元串
2、定位到這個字元串的最後一個回車符,若這個回車符後面沒有內容,就再往前一個回車符,然後截取,再拼接上你新的字元串
方案2:
文檔大的話,用隨機讀取類RandomAccessFile,直接定位到最後,再往回找。。類似上面的,文檔大的話,這個方法比較適合。

Ⅱ Java 如何對讀入的txt文件進行修改啊。。。

用BufferedReader讀入文件的每一行,然後跳過前四位。
如果第六位開始的名字匹配了,就修改從該行起始位開始的第九位(也就是分數開始的位置)。至於輸出修改後的內容到文件,可以參考:
http://hi..com/tejingdream/blog/item/4d7f7178a900d9e62f73b34e.html
如果文件內容是英文就比較簡單,可以用java的正則表達式進行名字的匹配,如果是中文,就比較麻煩了,需要知道確定名字的ascii編碼。

Ⅲ java如何刪除或者修改txt最後一行數據

給你個思路吧,代碼自己寫哦
方案1:
1、文檔不大的話,直接全部讀出來,就是一個字元串
2、定位到這個字元串的最後一個回車符,若這個回車符後面沒有內容,就再往前一個回車符,然後截取,再拼接上你新的字元串
方案2:
文檔大的話,用隨機讀取類RandomAccessFile,直接定位到最後,再往回找。。類似上面的,文檔大的話,這個方法比較適合。

Ⅳ java 中怎麼修改txt文件中某一行的內容

用臨時文件,按行讀源文件,不修改的行,直接輸出到臨時文件、要修改的行在修改後,再寫到臨時文件

Ⅳ 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寫入txt文件 想要修改txt文件每一行的第一個數字 加一就好

java實現向txt每行增加一位數字,思路是這樣的:使用I/O操作每次讀取一行文字,使用string增加一個數字一,保存在緩存另一個list裡面,後接一個換行符,等到全部讀取完畢,在讀取list的內容,寫入txt文件裡面,示例如下:

packagecom.zeal.card;//這里是我自己臨時用的包名,你自己改一下就好了

importjava.io.BufferedReader;
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.InputStreamReader;

publicclassDemo{

/**
*主方法
*@paramargs
*/
publicstaticvoidmain(String[]args){
printData();
}

/**
*讀取txt文檔第一行數據中的第3位到第9位,並輸出到控制台
*/
publicstaticvoidprintData(){

//定義文本文件數組,這里是臨時演示用,請自己改寫
String[]txtFiles={
"c:/a.txt",
"c:/b.txt",
"c:/c.txt",
};

//遍歷文件
for(inti=0;i<txtFiles.length;i++){
try{
//得到文件
Filefile=newFile(txtFiles[i]);
//如果文件存在
if(file.exists()){
//建立緩沖包裝器
BufferedReaderin=null;
in=newBufferedReader(newInputStreamReader(newFileInputStream(file)));
//讀出一行(因為只是讀一行,沒必要遍歷全部文件內容)
Stringtemp=in.readLine();
//如果不為空,並且長度至少為9
if(temp!=null){

Stringtxt="一"+temp;//每行前面增加一個數字一。
System.out.println("取出數據:"+txt);
Listli=newArrayList();
Listli=newArrayList();
li.add(temp);
}
}
BufferedWriterin=null;
in=newBufferedWriter(newInputStreamWriter(newFileOutputStream(file)));
}
}catch(Exceptione){
e.printStackTrace();
}
}
}

}

Ⅶ java中讀出txt文件內容並更改怎麼寫入原txt文件

方法一:
讀取文件內容,
進行修改,
全部保存到內存中,
然後清空原文件,把內存寫回到原文件
適用范圍:
文件數據較小的時候,
這樣不怕內存溢出
方法二:
使用RandomAccessFile
,
模式設置文件可讀可寫
,
可以直接修改
方法三:
讀取文件內容
,
每次讀取一行,修改完畢就把該行字元串寫入到臨時文件中
,
然後從臨時文件寫會到原文件

Ⅷ java怎麼來修改txt中的內容

public class update_txt {
public static void main(String[] args) {

File file = new File("D:\\update_txt.txt");

try
{
if(file.isFile()!=true)
{
file.createNewFile();
}

//讀入數據
BufferedReader buff = new BufferedReader(new FileReader(file));
String manager = buff.readLine();
Vector newtxt = new Vector();
while(manager!=""&&manager!=null)
{
System.out.println(manager);
if(manager.split("#")[0].equals("admin3"))
{
newtxt.add("admin3#3#超級管理員");
}
else
{
newtxt.add(manager);
}
manager=buff.readLine();
}

buff.close();
//寫入數據
BufferedWriter weiter = new BufferedWriter(new FileWriter(file));
for(int i=0;i<newtxt.size();i++)
{
weiter.write(newtxt.get(i).toString());
weiter.newLine();
}

weiter.flush();
weiter.close();

}catch(Exception e)
{
e.printStackTrace();
}

}}

Ⅸ java讀取、修改、寫入txt文件

模擬:先創建一個TXT文件(內容來自控制台);然後讀取文件並在控制台輸出;最後實現對新創建的TXT文件(的數據進行排序後)的復制。分別對應三個函數,調用順序需要注意:創建、讀取、復制。

效果圖如下:綠色部分為控制台輸入的內容(當輸入end時,結束)

packagecom.;

importjava.io.BufferedReader;
importjava.io.File;
importjava.io.FileNotFoundException;
importjava.io.FileOutputStream;
importjava.io.FileReader;
importjava.io.IOException;
importjava.io.OutputStreamWriter;
importjava.util.Arrays;
importjava.util.Scanner;
importjava.util.Vector;

publicclassCreateAndReadTxt{
//文件名稱
publicstaticStringfileName=".txt";
publicstaticStringnewFileName=".txt";
//文件路徑
publicfinalstaticStringURL=System.getProperty("user.dir");

//CreateAndReadTxt.class.getResource("/").getPath();

//創建TXT文件
publicstaticvoidcreateTxtFile(StringfName,StringfileContent){
//創建文件
fileName=fName+fileName;
Filefile=newFile(fileName);
//可以更改
file.setWritable(true);
//判斷當前路徑下是否存在同名文件
booleanisExist=file.exists();
if(isExist){
//文件存在,刪除
file.delete();
}
//寫入文件
try{
//文件寫入對象
FileOutputStreamfos=newFileOutputStream(file);
//輸入流寫入----默認字元為GBK
OutputStreamWriterosw=newOutputStreamWriter(fos);
//寫入
osw.write(fileContent);
//寫入完畢後關閉
osw.close();
System.out.println("成功創建文件: "+fileName);
}catch(IOExceptione){
System.out.println("寫入文件失敗: "+e.getMessage());
}
}

//閱讀文件
publicstaticvoidreadFile(StringfileName){
System.out.println("開始讀取文件: "+fileName);
//產生文件對象
Filefile=newFile(fileName);
//
try{
//字元讀取
FileReaderfr=newFileReader(file);
//緩沖處理
BufferedReaderbr=newBufferedReader(fr);
Stringstr="";
while((str=br.readLine())!=null){
System.out.println(str);
}
//關閉
br.close();
fr.close();
}catch(FileNotFoundExceptione){
System.out.println("讀取文件失敗: "+e.getMessage());
}catch(IOExceptione){
System.out.println("讀取文件失敗: "+e.getMessage());
}
}
//文件復制
publicstaticvoidFile(StringfromFileName,StringtoFileName){
//讀取文件
Filefile=newFile(fromFileName);
try{
FileReaderfr=newFileReader(file);
BufferedReaderbr=newBufferedReader(fr);
//定義接收變數
Vector<Double>vec=newVector<Double>();
Strings="";
while(null!=(s=br.readLine())){
vec.add(Double.parseDouble(s));
}
br.close();
fr.close();
//保存到數組並進行排序
Doubledou[]=newDouble[vec.size()];
vec.toArray(dou);
Arrays.sort(dou);
System.out.println("========復制文件=========");
//寫入新文件
newFileName="副本"+newFileName;
FilenewFile=newFile(toFileName);
FileOutputStreamfos=newFileOutputStream(newFile,true);
OutputStreamWriterosm=newOutputStreamWriter(fos);
for(Doubled:dou){
osm.write(d.doubleValue()+" ");
}
osm.close();
fos.close();
}catch(FileNotFoundExceptione){
System.out.println("讀取文件失敗: "+e.getMessage());
}catch(IOExceptione){
System.out.println("讀取文件失敗: "+e.getMessage());
}

}
publicstaticvoidmain(String[]args){
/**
*構造數據
*/
Scannerscan=newScanner(System.in);
StringBuildersb=newStringBuilder();
Strings="";
while(!("end".equals(s=scan.next()))){//當輸入end時,結束
sb.append(s);
sb.append(" ");
}
scan.close();
/**
*使用數據
*/
CreateAndReadTxt.createTxtFile("creat",sb.toString());
CreateAndReadTxt.readFile(fileName);
System.out.println(fileName);
CreateAndReadTxt.File(fileName,newFileName);
CreateAndReadTxt.readFile(newFileName);
}

}

閱讀全文

與java修改txt相關的資料

熱點內容
cd命令進不了c盤怎麼辦 瀏覽:208
葯業公司招程序員嗎 瀏覽:972
毛選pdf 瀏覽:657
linuxexecl函數 瀏覽:725
程序員異地戀結果 瀏覽:372
剖切的命令 瀏覽:226
干什麼可以賺錢開我的世界伺服器 瀏覽:288
php備案號 瀏覽:988
php視頻水印 瀏覽:166
怎麼追程序員的女生 瀏覽:486
空調外壓縮機電容 瀏覽:79
怎麼將安卓變成win 瀏覽:459
手機文件管理在哪兒新建文件夾 瀏覽:724
加密ts視頻怎麼合並 瀏覽:775
php如何寫app介面 瀏覽:804
宇宙的琴弦pdf 瀏覽:396
js項目提成計算器程序員 瀏覽:944
pdf光子 瀏覽:834
自拍軟體文件夾名稱大全 瀏覽:328
程序員留學移民 瀏覽:52