使用java实现在文件中添加字符串

使用java实现在文件中添加字符串,第1张

我在一个项目中需要使用C:\WINDOWS\system \drivers\etc这个目录下的hosts文件 并且在该文件的最后加上一个这样的字符串:     rsgl_dbserve 由于对Java的文件 *** 作不是很熟练 花了半天的功夫才找到了 具体的实现办法如下:

import java io FileOutputStreamimport java io IOExceptionimport java io OutputStreamWriter

public class FileWriterTest {

public static void main(String[] args) {  FileOutputStream stream   OutputStreamWriter writer  try {

//主要是使用了FileOutputStream的构造函数 FileOutputStream (File file boolean append) //这里参数append为true表示可以添加 详细使用参考JDK帮助文档资料   stream = new FileOutputStream( C:\\WINDOWS\\system \\drivers\\etc\\hosts true)writer =  new OutputStreamWriter(stream)  writer write(     rsgl_dbserve )  writer close()  stream close()  } catch (IOException e) {      e printStackTrace()  }   }

}

以上代码在eclipse上调试成功!

为了增加代码的重用性 可以编写一个方法如下:

lishixinzhi/Article/program/Java/hx/201311/26427

如果想向某个文件最后添加内容,可使用FileWriter fw = new FileWriter("log.txt",true)在创建FileWriter时加个true就可以了。

下面是详细的示例代码:

File file = new File("D:/Test.txt")  

File dest = new File("D:/new.txt")  

try {  

    BufferedReader reader = new BufferedReader(new FileReader(file))  

    BufferedWriter writer  = new BufferedWriter(new FileWriter(dest,true))  

    String line = reader.readLine()  

    while(line!=null){  

        writer.write(line)  

        line = reader.readLine()  

    }  

    writer.flush()  

    reader.close()  

    writer.close()  

} catch (FileNotFoundException e) {  

    e.printStackTrace()  

} catch (IOException e) {  

    e.printStackTrace()  

}

“先读入,再写回”的方法时可行的

这个文件有几十兆,不代表整个读入,不是占用几十兆内存。先写入头部的文字,再循环读一点源文件,写一点源文件。

RandomAccessFile 也可以,只是最初要留出空间,比如一些空格


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/7975256.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存