有没有佬知道java中如何用IO修改txt文档的指定内容,除了new一个File出来,选择性读入原有文档内容已达到修改目的,然后再进行renameTo方法重命名来修改原有文档,这个方法太复杂了,有没有佬知道怎么简单的去完成这个操作,提供大体思路即可,感谢
如果你是修改.ini文件或者是xml文件,或者是excel之类的文件,有写好的组件可以直接进行修改
而如果是txt,只能自己写代码修改
大体上就那么几种思路
1.整个读出来,修改其中的一部分,整个写回去
如果txt文件很大,这样搞肯定慢,但是灵活
2.写入的时候可以指定写入的位置,直接修改对应位置的字符
但是文件是按顺序存储在硬盘中的,修改的时候不可以加字删字,字数必须一致,否则会乱码
3.你提到的方法其实相当于先另存为一份新文档,再通过重命名覆盖原有文档
请参考 一下,是否对你有帮助
Java中修改txt文档的内容,可以使用FileWriter类和BufferedWriter类实现。以下是修改txt文档内容的简单代码实现:
String filePath = "C:\\Users\\...\\test.txt"; // 文件路径
String content = "新的文本内容"; // 新的文本内容
// 文件写入流
FileWriter fileWriter = new FileWriter(filePath);
BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
// 写入新的文本内容
bufferedWriter.write(content);
// 关闭写入流
bufferedWriter.close();
fileWriter.close();
上述代码可用于将 filePath
文件中的内容全部覆盖为 content
。若需要在原有内容末尾添加新内容,可以在BufferedWriter构造函数中设置文件写入模式为追加(将 append
参数设置为 true
),例如:
String filePath = "C:\\Users\\...\\test.txt"; // 文件路径
String content = "追加的文本内容"; // 追加的文本内容
// 文件写入流
FileWriter fileWriter = new FileWriter(filePath, true);
BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
// 追加新的文本内容
bufferedWriter.write(content);
// 关闭写入流
bufferedWriter.close();
fileWriter.close();
该代码会在文件末尾追加 content
的内容。