从txt中读取某一行内容,修改这一行内容,如在这一行末尾加一个字母A,再重新写入文件,修改文件内容。
test.txt:
!23343 abc.
!2342 werwr.
#sfs 32 wedx.
!34 dfef.
文件每行都是以“.”结尾,读取某一行内容:
File file = new File("E:\\test.txt");
if (file.isFile() && file.exists()) {
InputStreamReader read = new InputStreamReader(
new FileInputStream(file));
BufferedReader bufferedReader = new BufferedReader(read);
String lineTxt = null;
while ((lineTxt = bufferedReader.readLine()) != null) {
if (lineTxt.startsWith("#"))
System.out.println(lineTxt);
//修改开头为#这行内容,即#sfs 32 wedx.A,这里不知道该怎么写,除了建立临时文件什么的还有别的方法么?
}}
------解决思路----------------------
创建一个临时文件, 然后边读边写, 读完以后把源文件删除了, 然后把临时文件重命名为原本的文件名
if (lineTxt.startsWith("#"))
System.out.println(lineTxt + "A");
//修改开头为#这行内容,即#sfs 32 wedx.A,这里不知道该怎么写,除了建立临时文件什么的还有别的方法么?
}
else{
System.out.,println(lineTxt);
}
------解决思路----------------------
如果只是修改的话,可以用RandomAccessFile类,要插入内容就只能用户临时文件了。