我在一个项目中需要使用C:\WINDOWS\system\drivers\etc这个目录下的hosts文件并且在该文件的最后加上一个这样的字符串: rsgl_dbserve由于对Java的文件操作不是很熟练花了半天的功夫才找到了具体的实现办法如下:
import javaioFileOutputStream;
import javaioIOException;
import javaioOutputStreamWriter;
public class FileWriterTest {
public static void main(String[] args) {
FileOutputStream stream ;
OutputStreamWriter writer;
try {
//主要是使用了FileOutputStream的构造函数FileOutputStream(Filefile booleanappend)
//这里参数append为true表示可以添加详细使用参考JDK帮助文档资料
stream = new FileOutputStream(C:\\WINDOWS\\system\\drivers\\etc\\hosts true);
writer = new OutputStreamWriter(stream);
writerwrite( rsgl_dbserve);
writerclose();
streamclose();
} catch (IOException e) {
eprintStackTrace();
}
}
}
以上代码在eclipse上调试成功!
为了增加代码的重用性可以编写一个方法如下:
public void appendToFile(String str String filename) throws Exception
{
// Open up an outputstreamwriter to the file and append str to it
FileOutputStream stream;//provides file access
OutputStreamWriter writer;//writes to the file
try
{
stream = new FileOutputStream(filename true);
writer = new OutputStreamWriter(stream);
writerwrite(str);
writerclose();
streamclose();
}
catch(Exception e)
{
throw e;
}
}//appendToFile