社区
Java EE
帖子详情
一个I/O操作的问题
jianghg2009
2009-09-28 11:28:12
我只会在文件尾追加内容,谁告诉我怎么在一个文件的开始追加内容呢??谢谢
...全文
178
10
打赏
收藏
一个I/O操作的问题
我只会在文件尾追加内容,谁告诉我怎么在一个文件的开始追加内容呢??谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
leoncg
2009-09-29
打赏
举报
回复
RandomAccessFile
seek(0)
woming66
2009-09-28
打赏
举报
回复
java.io.RandomAccessFile
swandragon
2009-09-28
打赏
举报
回复
用RandomAccessFile这个类
此类的实例支持对随机访问文件的读取和写入
可以控制文件指针的位置
wzw_19850911
2009-09-28
打赏
举报
回复
假如文件里是文本文件
1 打开源文件
2 读取文件中的内容 存放到一个String中
3 将添加的String 和原先的String相加
4 将相加后的String写入源文件
5 关闭源文件
package com.chncloud.utils;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
public class FileAppender {
public static void main(String[] args){
appendStringToFile("被加入到文件的头部第一个\n","F:\\Input\\test.txt");
}
public static boolean appendStringToFile(String text,String fileName){
boolean res = false;
File file = new File(fileName);
if(file.isFile()){
FileInputStream fis = null;
FileOutputStream fos = null;
try {
fis = new FileInputStream(file);
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
String temp = null;
StringBuffer sb = new StringBuffer("");
while((temp=br.readLine())!=null){
sb.append(temp+"\n");
}
String finalString = text + sb.toString();
System.out.println(finalString);
fos = new FileOutputStream(fileName);
fos.write(finalString.getBytes());
fos.close();
res = true;
} catch (Exception e) {
res = false;
e.printStackTrace();
}finally{
try{
if(fis!=null){
fis.close();
}if(fos!=null){
fos.close();
}
}catch(Exception e){
e.printStackTrace();
}
}
}
return res;
}
}
jianghg2009
2009-09-28
打赏
举报
回复
引用 3 楼 java2000_net 的回复:
在一个文件的开始追加内容呢?
根据磁盘的存储结构,这个操作是无法直接完成的。
你可以通过
1 新建一个临时文件
2 写入你的追加内容
3 读取原始文件内容,追加到新文件的末尾
4 将原始文件删除
5 将新文件改名为老文件
OVER
谢谢这位的答案!
谢谢各位!
这样也有想过,不知有何更简便的方式呢?期待一下下
liuhong_20
2009-09-28
打赏
举报
回复
学习了!! 标记下
sunxing007
2009-09-28
打赏
举报
回复
[Quote=引用 3 楼 java2000_net 的回复:]
在一个文件的开始追加内容呢?
根据磁盘的存储结构,这个操作是无法直接完成的。
你可以通过
1 新建一个临时文件
2 写入你的追加内容
3 读取原始文件内容,追加到新文件的末尾
4 将原始文件删除
5 将新文件改名为老文件
OVER
[/Quote]
顶!
有些问题稍微动一下脑袋, 绕以下弯子, 看一下api就把问题解决了。
哎!!!
xiaozhangnima
2009-09-28
打赏
举报
回复
这个得顶
轻松工作快乐生活
2009-09-28
打赏
举报
回复
RandomAccessFile好像也是不行的,同意老紫竹,可以缓存一个要追加的内容然后把文件读过来写在追加内容后面然后再写回去。
老紫竹
2009-09-28
打赏
举报
回复
在一个文件的开始追加内容呢?
根据磁盘的存储结构,这个操作是无法直接完成的。
你可以通过
1 新建一个临时文件
2 写入你的追加内容
3 读取原始文件内容,追加到新文件的末尾
4 将原始文件删除
5 将新文件改名为老文件
OVER
VC网络编程模型示例 - 重叠IO模型
VC网络编程模型示例之 - 重叠IO模型 配套讲解请参考我的blog http://blog.csdn.net/PiggyXP
博客文章《完成端口详解》配套代码(压力测试客户端)
应广大朋友要求,这份代码是我博客里的文章《完成端口详解 - 手把手教你玩转网络编程系列之三》的配套代码的客户端部分
教你玩转网络编程模型之完成例程(Completion Routine)篇配套代码
这是本人的拙作《手把手教你玩转网络编程模型之完成例程(Completion Routine)篇》的配套代码,讲解文章请看这里 http://blog.csdn.net/piggyxp,欢迎批评指正。
Windows高性能并发IOCP之DELPHI实现
DELPHI实现的完整端口全例子,有SQL查询、上传文件、下载文件,并附有完成端口性能测试工具。服务器中还有ADO连接池、Logger日志的完整实现,可以作为学习服务端编程和完成端口的例子。
gradle-3.3-all.zip 绿色版本,欢迎下载
官网下载不成功的,可以直接在这里下载。 官网原下载地址:https://services.gradle.org/distributions/
Java EE
67,541
社区成员
225,854
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章