我在一个项目中需要使用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把文档全部作为一个字符串,字符串可以相加, 如在‘1.doc’里添加's' 和'd',用
>>>file=open('1.doc','r')
>>>string=file.read()
>>>string='s\n'+string+'\nd'
>>>file2=open('2.doc','w')
>>>file2.write(string)
file.txt文件是
isdfsdfsdfasdfj
bbb
sdflkjsdf
sdfkjasdf
sdf
sdlfkjlasf
ccc
sdflkj
sdfsdf
看你的意思好像在bbb 上添加 xxxx, 在ccc上添加xxx
使用命令 sed -i -e "s/bbb/xxxx\n&/" -e "s/ccc/xxx\n&/" file.txt 后
isdfsdfsdfasdfj
xxxx
bbb
sdflkjsdf
sdfkjasdf
sdf
sdlfkjlasf
xxx
ccc
sdflkj
sdfsdf
不知道是不是你要的结果,如果不是,咱们再探讨一下。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)