跪求!用JAVA实现对文本文件的修改

fenglin515 2010-03-17 10:41:43
文本文件名字是ab20080504.log,里面,
事件记录时间 记录人员 事件编号 事件 备注
2008-05-05 08:16,李四,5,正常,NULL

想直接修改里面的 "2008" 为 "2009",
然后再把文件名为 ab20090504.log(修改或生成)

怎么样读入这个文本文件呢?
里面的字符,应该是按照String吧?
最后生成一个文本文件。
...全文
302 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
fenglin515 2010-03-29
  • 打赏
  • 举报
回复
修改文件时间,这就有点麻烦了
能不能这样,走个弯路:
先修改系统时间到2009-05-05 08:16(00-59分),然后产生这个TXT文件。
娃娃鱼 2010-03-24
  • 打赏
  • 举报
回复
路过学习了
joaryyu 2010-03-24
  • 打赏
  • 举报
回复
上面说的都不错,LZ应该有感觉了。
East271536394 2010-03-24
  • 打赏
  • 举报
回复
你看看java.io 中的InputStream 与OutputStream,File,Reader Writer中的用法。就ok
zliuzz 2010-03-24
  • 打赏
  • 举报
回复
恩 一个输入流 一个输出流
读一行写一行。。。最后保存输出 删掉输入 over
24K純帥 2010-03-24
  • 打赏
  • 举报
回复
replaceAll()
SambaGao 2010-03-24
  • 打赏
  • 举报
回复
用ctrl+F 替换掉所有的2008" 为 "2009",
李晚晚 2010-03-24
  • 打赏
  • 举报
回复
这个不知道哦
guangmingdeshenju 2010-03-23
  • 打赏
  • 举报
回复
修改文件时间,这就有点麻烦了
文件操作不行了吧》
可能用到pe文件头了哦,java 有没有这个操作哦?
fenglin515 2010-03-22
  • 打赏
  • 举报
回复
忘记了,还有一个事情没有说,
文本文件名字是ab20080504.log,里面,
事件记录时间 记录人员 事件编号 事件 备注
2008-05-05 08:16,李四,5,正常,NULL

文本文件名字是ab20080504.log,事件记录时间2008-05-05 08:16
那么 这个文件的创建时间(修改时间)也是在2008-05-05 08:16

修改文件的时间,好像不是很容易啊!
appleqwfyhw 2010-03-17
  • 打赏
  • 举报
回复
已经有人上代码了 帮顶个算了
刘振锋 2010-03-17
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 liuzhenfeng 的回复:]

Java code

File a = new File("/home/china/ab20080504.log");
if (!a.exists()) {
a.createNewFile();
}
BufferedReader reader = new BufferedReader(new……
[/Quote]
对了,windows下没有测试!
刘振锋 2010-03-17
  • 打赏
  • 举报
回复

File a = new File("/home/china/ab20080504.log");
if (!a.exists()) {
a.createNewFile();
}
BufferedReader reader = new BufferedReader(new FileReader(a));
System.out.println(a.getParent());
File b = new File(a.getParent() + "/"
+ a.getName().replace("2008", "2009"));
PrintWriter writer = new PrintWriter(b);
String temp = reader.readLine();
while (null != temp) {
temp = temp.replace("2008-", "2009-");
writer.println(temp);
temp = reader.readLine();
writer.flush();
}
writer.close();
reader.close();
a.delete() ;
System.out.println("操作完成");
萝asdf 2010-03-17
  • 打赏
  • 举报
回复
哎,可怜人,和我一样,分给的多,没人给个好完整的答案。我给你吧。

try {
FileReader reader = new FileReader("c:\\3.txt");
BufferedReader br = new BufferedReader(reader);
String str = br.readLine();
while(str != null) {
System.out.println(str);
str = br.readLine();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

try {
FileWriter fw = new FileWriter("c:\\a.txt",true);
BufferedWriter bw = new BufferedWriter(fw);
bw.write("\r\nfff");
bw.flush();
bw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
ajax应该会吧,把数据传到后台,就用上面的方法写进去就ok了
wslzxql 2010-03-17
  • 打赏
  • 举报
回复
边读边写
fenglin515 2010-03-17
  • 打赏
  • 举报
回复
一行一行的读
是不是需要读入数组?
xiesisi3 2010-03-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 foolishdault 的回复:]
一行一行的读,然后重新生成一个文件,最后完事了原文件咔嚓掉即可。
[/Quote]

就是这样
铁匠梁老师 2010-03-17
  • 打赏
  • 举报
回复
一行一行的读,然后重新生成一个文件,最后完事了原文件咔嚓掉即可。

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧