导航:首页 > 编程语言 > 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在文件中删除一行相关的资料

热点内容
u盘文件夹乱码无法删除 浏览:339
有哪些PLC编程入门经典教材 浏览:880
linux挂载ufs文件系统 浏览:650
天龙3wpe代码 浏览:488
华为荣耀4c升级安卓60 浏览:371
cad能不能导入jdk文件 浏览:427
学编程到什么水平算是入门 浏览:545
怎么让psd文件变小 浏览:403
ai储存源文件 浏览:112
解锁appleid生日忘了怎么办 浏览:469
朋友圈栏目里面到底能装多少文件 浏览:85
文件格式后缀怎么显示 浏览:680
苹果电脑上安装win7u盘 浏览:416
网站的栏目及其功能是什么意思 浏览:606
新版本安妮 浏览:9
jsp页面c标签的用法 浏览:277
在哪里能看到国发办的文件 浏览:314
华为淘宝文件下载到哪里了 浏览:992
西门子编程提示什么 浏览:746
结算书需要导出哪些文件 浏览:819

友情链接