java中RandomAccessFile怎样删除指定行,有直接的函数实现吗?

 我来答
提问不会死吧
2011-06-16 · 超过23用户采纳过TA的回答
知道答主
回答量:102
采纳率:0%
帮助的人:46.8万
展开全部
没有直接的函数实现.
因为RandomAccessFile是继承Object类,而且只实现了DataOutput, DataInput, Closeable这三个接口(也就是只拥有这三个接口里声明的方法操作和从Object继承来的方法操作)
一个个分析:
1.Object是所有类的父类,不存在你想要的那个方法(函数)
2.DataOutput 接口用于将任意 Java 基本类型转换为一系列字节,并将这些字节写入二进制流
所有方法都是writeXXX
3.DataInput 接口用于从二进制流中读取字节,并重构所有 Java 基本类型数据。--跟 DataOutput 成对应关系 所有方法都是readXXX
贺诗琦钰
2011-06-27 · TA获得超过3294个赞
知道大有可为答主
回答量:941
采纳率:0%
帮助的人:1541万
展开全部
删除不好做,因为你是一个文件内容的删除。
可以用字符串数组来保存每一行的值,删除了之后,再重新保存进去。
可以这样做:比如说你的文件路径: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]);
}

只是分析了一下,具体步骤还是你来完成了。。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式