<!-- [if gte mso 9]><xml><w:WordDocument><w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel><w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery><w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery><w:DocumentKind>DocumentNotSpecified</w:DocumentKind><w:DrawingGridVerticalSpacing>7.8</w:DrawingGridVerticalSpacing><w:View>Normal</w:View><w:Compatibility></w:Compatibility><w:Zoom>0</w:Zoom></w:WordDocument></xml><![endif]-->
importjava.io.*;
/***//**
*
*功能描述:创建
TXT
文件并进行读、写、修改操作
*
*@author<ahref="mailto:zhanghhui@126.com">KenZhang</a>
*@version1.0
*Creationdate:2007-12-18-下午
06:48:45
*/
publicclassReadWriteFile{
publicstaticBufferedReaderbufread;
//指定文件路径和名称
privatestaticStringpath="D:/suncity.txt";
privatestaticFilefilename=newFile(path);
privatestaticStringreadStr="";
/***//**
*创建文本文件
.
*@throwsIOException
*
*/
publicstaticvoidcreatTxtFile()throwsIOException{
if(!filename.exists()){
filename.createNewFile();
System.err.println(filename+"已创建!
");
}
}
/***//**
*读取文本文件
.
*
*/
publicstaticStringreadTxtFile(){
Stringread;
FileReaderfileread;
try{
fileread=newFileReader(filename);
bufread=newBufferedReader(fileread);
try{
while((read=bufread.readLine())!=null){
readStr=readStr+read+"\r\n";
}
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}catch(FileNotFoundExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
System.out.println("文件内容是
:"+"\r\n"+readStr);
returnreadStr;
}
/***//**
*写文件
.
*
*/
publicstaticvoidwriteTxtFile(StringnewStr)throwsIOException{
//先读取原有文件内容,然后进行写入操作
Stringfilein=newStr+"\r\n"+readStr+"\r\n";
RandomAccessFilemm=null;
try{
mm=newRandomAccessFile(filename,"rw");
mm.writeBytes(filein);
}catch(IOExceptione1){
//TODO自动生成
catch
块
e1.printStackTrace();
}finally{
if(mm!=null){
try{
mm.close();
}catch(IOExceptione2){
//TODO自动生成
catch
块
e2.printStackTrace();
}
}
}
}
/***//**
*将文件中指定内容的第一行替换为其它内容
.
*
*@paramoldStr
*查找内容
*@paramreplaceStr
*替换内容
*/
publicstaticvoidreplaceTxtByStr(StringoldStr,StringreplaceStr){
Stringtemp="";
try{
Filefile=newFile(path);
FileInputStreamfis=newFileInputStream(file);
InputStreamReaderisr=newInputStreamReader(fis);
BufferedReaderbr=newBufferedReader(isr);
StringBufferbuf=newStringBuffer();
//保存该行前面的内容
for(intj=1;(temp=br.readLine())!=null
&&!temp.equals(oldStr);j++){
buf=buf.append(temp);
buf=buf.append(System.getProperty("line.separator"));
}
//将内容插入
buf=buf.append(replaceStr);
//保存该行后面的内容
while((temp=br.readLine())!=null){
buf=buf.append(System.getProperty("line.separator"));
buf=buf.append(temp);
}
br.close();
FileOutputStreamfos=newFileOutputStream(file);
PrintWriterpw=newPrintWriter(fos);
pw.write(buf.toString().toCharArray());
pw.flush();
pw.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
/***//**
*main方法测试
*@params
*@throwsIOException
*/
publicstaticvoidmain(String[]s)throwsIOException{
ReadWriteFile.creatTxtFile();
ReadWriteFile.readTxtFile();
ReadWriteFile.writeTxtFile("20080808:12:13");
//ReadWriteFile.replaceTxtByStr("ken","zhang");
}
}