導航:首頁 > 編程語言 > java在文件中刪除一行

java在文件中刪除一行

發布時間:2024-01-11 00:45:47

Ⅰ 如何通過java實現對指定目錄下的txt文件進行增刪改查

代碼如下:

importjava.io.BufferedReader;
importjava.io.BufferedWriter;
importjava.io.FileInputStream;
importjava.io.FileOutputStream;
importjava.io.IOException;
importjava.io.InputStreamReader;
importjava.io.OutputStreamWriter;
importjava.util.ArrayList;
importjava.util.List;

publicclassApp61{

publicstaticvoidmain(String[]args)throwsIOException{

//查找行輸出
Stringline=findFileLine("mylist.txt","abc");
System.out.println(line);

//刪除指定行
removeFileLine("mylist.txt",2);
}

staticvoidremoveFileLine(Stringfile,intline)throwsIOException{

List<String>lines=readFileLines(file);

lines.remove(line-1);

FileOutputStreamoutputStream=null;

=null;

BufferedWriterwriter=null;

try{

outputStream=newFileOutputStream(file);

streamWriter=newOutputStreamWriter(outputStream);

writer=newBufferedWriter(streamWriter);

for(Stringstr:lines){
writer.write(str+System.lineSeparator());
}

}finally{
if(writer!=null){
writer.close();
}
if(streamWriter!=null){
streamWriter.close();
}
if(outputStream!=null){
outputStream.close();
}
}
}


//查找行
staticStringfindFileLine(Stringfile,Stringkeywork)throwsIOException{

List<String>lines=readFileLines(file);

for(Stringline:lines){
if(line.contains(keywork)){
returnline;
}
}

return"";
}

//返迴文件所有行
staticList<String>readFileLines(Stringfile)throwsIOException{

List<String>lines=newArrayList<>();

FileInputStreaminputStream=null;

InputStreamReaderstreamReader=null;

BufferedReaderreader=null;

try{

inputStream=newFileInputStream(file);

streamReader=newInputStreamReader(inputStream);

reader=newBufferedReader(streamReader);

Stringline="";

while((line=reader.readLine())!=null){
lines.add(line);
}
}finally{
if(reader!=null){
reader.close();
}
if(streamReader!=null){
streamReader.close();
}
if(inputStream!=null){
inputStream.close();
}
}

returnlines;
}
}

Ⅱ java如何根據指定字元串刪除文本文件中的相應一行

可以通過BufferedReader 流的形式進行流讀取,之後通過readLine方法獲取到的內容,之後通過if判斷出符合條件的重寫如新文件,不符合的直接舍棄即可。
舉例:
BufferedReader bre = null;
OutputStreamWriter pw = null;//定義一個流
try {
String file = "D:/test/test.txt";
bre = new BufferedReader(new FileReader(file));//此時獲取到的bre就是整個文件的緩存流
pw = new OutputStreamWriter(new FileOutputStream(「D:/test.txt」),"GBK");//確認流的輸出文件和編碼格式,此過程創建了「test.txt」實例
while ((str = bre.readLine())!= null) // 判斷最後一行不存在,為空結束循環
{
if(str.indexOf("排除")<0){//判斷是否需要舍棄
pw.write(str);//將要寫入文件的內容,可以多次write
}
}
bre.close();//關閉流
pw.close();//關閉流
備註:文件流用完之後必須及時通過close方法關閉,否則會一直處於打開狀態,直至程序停止,增加系統負擔。

Ⅲ java 文件中刪除一行(或某個字元)

用「」替換文件中的內容達到刪除目的

importjava.io.InputStream;
importjava.io.BufferedReader;
importjava.io.BufferedWriter;
importjava.io.FileReader;
importjava.io.FileWriter;
importjava.util.Scanner;
importjava.io.FileNotFoundException;
importjava.io.IOException;

publicclasszifutihuan
{
protectedstaticvoidrep(Stringch)
{
BufferedReaderbis=null;
FileWriterbos=null;
Strings=null;
try
{
bis=newBufferedReader(newFileReader("1.txt"));
bos=newFileWriter("2.txt");

while(null!=(s=bis.readLine()))
{

s=s.replaceAll(ch,"");
System.out.println(s);
s=s+" ";
bos.write(s);
}
bos.close();
bis.close();
s=null;

}
catch(FileNotFoundExceptione)
{
.out.println("未找到文件 ");
}
catch(IOExceptionee)
{
System.out.println("aaa");
}

}

publicstaticvoidmain(Stringargs[])
{

rep("123");

}
}

Ⅳ java如何刪除txt文件的某一行RandomAccessFile可以嗎

刪除不好做,因抄為你是一個文件內容的襲刪除。
可以用字元串數組來保存每一行的值,刪除了之後,再重新保存進去。
可以這樣做:比如說你的文件路徑:c:/a.txt
1.File file = new File("c:/a.txt");
2.BufferedReader reader = new BufferedReader(file);
3.byte[] strValue = new byte[(int)file.length()];
4.String str = reader.read(strValue);//按文件大小一次讀入
5.String rows = str.split("\r\n");//按換行符拆分,即數組的每一條,對應文件每一行的內容。
6.如果要刪除按條件刪除某一行,只需要判斷字元串數組是否存在這一行了,如果存在,替換為「」即可。
7.Writer writer = new FileWriter(file);
8.
for(int i=0;i<rows.length;i++){
writer.write(rows[i]);
}

只是分析了一下,具體步驟還是你來完成了。。

Ⅳ Java 如何使用輸入流和輸出流 將txt文件中的某一行數據刪除

按行讀取文本,寫入一個StringBuilder或StringBuffer對象中,循環寫入時判斷刪除行時不寫入,最後將拼接的字元串寫入原文件即可,這裡面需要注意存儲字元串長度。

Ⅵ JAVA如何刪除文本文檔里的某一行

importjava.io.*;

publicclassTest{

publicstaticvoiddelete(Stringfile,Stringtext){
(newFile(file),text);
}

publicstaticvoiddelete(Filefile,Stringtext){
Filetemp=null;
BufferedReaderbr=null;
PrintWriterpw=null;
try{
temp=File.createTempFile("temp","temp");
pw=newPrintWriter(temp);
br=newBufferedReader(newFileReader(file));
while(br.ready()){
Stringline=br.readLine();
System.out.println(line);
if(line.equals(text)){
continue;
}
pw.println(line);
}
pw.flush();
}catch(IOExceptione){
e.printStackTrace();
}finally{
safeClose(br);
safeClose(pw);
if(temp!=null){
file.delete();
temp.renameTo(file);
}
}
}

privatestaticvoidsafeClose(Closeablecloseable){
if(closeable!=null){
try{
closeable.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
}

}

閱讀全文

與java在文件中刪除一行相關的資料

熱點內容
angularjsclass定義 瀏覽:157
ug數控編程怎麼導出程序 瀏覽:466
cmdb文件 瀏覽:710
鵯文件夾 瀏覽:763
網路輿情應對的基本理念是什麼 瀏覽:433
word2007層次結構 瀏覽:456
去掉文件名的數字 瀏覽:713
word公司 瀏覽:710
淘寶店數據包怎麼上傳 瀏覽:341
pbt文件 瀏覽:204
HX基礎編程怎麼改變字體 瀏覽:876
怎麼開網路教學 瀏覽:915
630升級工程武器 瀏覽:936
用換機助手接收的軟體文件在哪找 瀏覽:282
閱達app一教一輔五年級有哪些 瀏覽:7
win10系統用f2調節音量 瀏覽:19
壓縮文件密碼器 瀏覽:840
線下活動數據分析有哪些 瀏覽:314
助聽器插片式編程線如何連接 瀏覽:293
怎麼刪除系統休眠文件 瀏覽:914

友情鏈接