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

热点内容
用换机助手接收的软件文件在哪找 浏览:282
阅达app一教一辅五年级有哪些 浏览:7
win10系统用f2调节音量 浏览:19
压缩文件密码器 浏览:840
线下活动数据分析有哪些 浏览:314
助听器插片式编程线如何连接 浏览:293
怎么删除系统休眠文件 浏览:914
搜索文件内容中包含的文字并替换 浏览:542
微信相册程序图标 浏览:714
win8怎么显示文件格式 浏览:547
文件服务器中毒 浏览:721
如何修改网站访问次数 浏览:518
mdfldf是什么文件 浏览:569
文件在桌面怎么删除干净 浏览:439
马兰士67cd机版本 浏览:542
javaweb爬虫程序 浏览:537
word中千位分隔符 浏览:392
迷你编程七天任务的地图怎么过 浏览:844
word2003格式不对 浏览:86
百度云怎么编辑文件在哪里 浏览:304

友情链接