java中如何将字符或者字符串写入到文件的指定位置?

来源:百度知道 编辑:UC知道 时间:2024/05/17 15:54:06
比如说一个TXT文件,有以下内容:

1111111
2222222
3333333
4444444

其中1111111是第一行,
我想在1111111上面加入一行0000000。其他保持不变,
应该怎么做?
没有分了,不好意思

RandomAccessFile这个类,你看看他的SEEK()方法,先把里面的内容复制出来,然后在往里面写,这样应该可以~

先读取文件中所有内容,然后在对改内容进行处理,最后在写入到文件中

实现思路:就是重新定义一个文件,之后将之前的文件内容读取出来指定未指定的数据,之后再插入某些数据。
可以通过BufferedReader 流的形式进行流缓存,之后通过readLine方法获取到缓存的内容。
BufferedReader bre = null;
OutputStreamWriter pw = null;//定义一个流
try {
String file = "D:/test/test.xml";
bre = new BufferedReader(new FileReader(file));//此时获取到的bre就是整个文件的缓存流
pw = new OutputStreamWriter(new FileOutputStream(“D:/New.xml”),"GBK");//确认流的输出文件和编码格式,此过程创建了“test.txt”实例
while ((str = bre.readLine())!= null) // 判断最后一行不存在,为空结束循环
{
if(str.indexOf("<end>")){//判断如果满足xml的条件就插入字符串
pw.write(str);//将要写入文件的内容,可以多次write
pw.write(“插入的内容”);//将要写入文件的内容,可以多次write
}
};
bre.close();
pw.close();//关闭流
备注:文件流用完之后必须及时通过close方法关闭,否则会一直处于打开状态,直至程序停止,增加系统负担。

用输入输出流试下
把需要输入的数据 以输入流的形式插入到111111的前面
然后在保存更新后的文件即可

创建新文本→输出000000000000→把旧问本流回到字符组→把字符组流进新文本