java如何删除txt文件的某一行?RandomAccessFile可以吗?
java的io流问题,现在有5行文字,如:百度(第一行)新浪(第二行)搜狐(第三行)雅虎(第四行)腾讯(第五行)我现在想删除第二行的数据,即"新浪",具体应该怎么操作,最...
java的io流问题,现在有5行文字,如:
百度 (第一行)
新浪 (第二行)
搜狐 (第三行)
雅虎 (第四行)
腾讯 (第五行)
我现在想删除第二行的数据,即"新浪",具体应该怎么操作,最好能有代码
希望有高手帮忙 展开
百度 (第一行)
新浪 (第二行)
搜狐 (第三行)
雅虎 (第四行)
腾讯 (第五行)
我现在想删除第二行的数据,即"新浪",具体应该怎么操作,最好能有代码
希望有高手帮忙 展开
2个回答
展开全部
删除不好做,因为你是一个文件内容的删除。
可以用字符串数组来保存每一行的值,删除了之后,再重新保存进去。
可以这样做:比如说你的文件路径: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]);
}
只是分析了一下,具体步骤还是你来完成了。。
可以用字符串数组来保存每一行的值,删除了之后,再重新保存进去。
可以这样做:比如说你的文件路径: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]);
}
只是分析了一下,具体步骤还是你来完成了。。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
思路:
给一个退到行尾命令,给一个换行命令,给一个从此行首到尾的标识,替换成“”(空),给个DEL命令,代码自己查。
给一个退到行尾命令,给一个换行命令,给一个从此行首到尾的标识,替换成“”(空),给个DEL命令,代码自己查。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询