当前位置: 代码迷 >> J2SE >> java 修改文件某一行内容解决方案
  详细解决方案

java 修改文件某一行内容解决方案

热度:219   发布时间:2016-04-23 19:46:03.0
java 修改文件某一行内容
从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类,要插入内容就只能用户临时文件了。