java向文件中追加内容与读写文件内容源码实例代码
java向文件中追加内容与读写文件内容源码实例代码
向文件尾加入内容有多种方法,常见的方法有两种:
RandomAccessFile类可以实现随机访问文件的功能,可以以读写方式打开文件夹的输出流
publicvoidseek(longpos)可以将读写指针移到文件尾,参数Pos表示从文件开头以字节为单位测量的偏移位置,在该位置文件指针。
publicvoidwrite(intpos)将数据写到读写指针后面,完成文件的追加。参数pos表示要写入的Byte
通过FileWrite打开文件输出流,构造FileWrite时指定写入模式,是一个布尔量,为真时表示写入的内容添加到已有文件的内容的后面,为假时表示重新写文件,以前的记录被清空,默认的值为假。
具体的例子可以参看以下的代码:
packageCharacters;
importJava.io.BufferedReader;
importjava.io.File;
importjava.io.FileReader;
importjava.io.FileWriter;
importjava.io.IOException;
importjava.io.RandomAccessFile;
publicclassCharactersDemo_03{
//使用RandomAccessFile实现文件的追加,其中:fileName表示文件名;content表示要追加的内容
publicstaticvoidappendMethod_one(StringfileName,Stringcontent){
try{
//按读写方式创建一个随机访问文件流
RandomAccessFileraf=newRandomAccessFile(fileName,"rw");
longfileLength=raf.length();//获取文件的长度即字节数
//将写文件指针移到文件尾。
raf.seek(fileLength);
//按字节的形式将内容写到随机访问文件流中
raf.writeBytes(content);
//关闭流
raf.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
//使用FileWriter实现文件的追加,其中:fileName表示文件名;content表示要追加的内容
publicstaticvoidappendMethod_two(StringfileName,Stringcontent){
try{
//创建一个FileWriter对象,其中boolean型参数则表示是否以追加形式写文件
FileWriterfw=newFileWriter(fileName,true);
//追加内容
fw.write(content);
//关闭文件输出流
fw.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
publicstaticvoidshowFileContent(StringfileName){
Filefile=newFile(fileName);
BufferedReaderreader=null;
try{
System.out.println("以行为单位读取文件内容,一次读一整行:");
reader=newBufferedReader(newFileReader(file));
StringtempString=null;
intline=1;
//一次读入一行,直到读入null为文件结束
while((tempString=reader.readLine())!=null){
//显示行号
System.out.println(line+":"+tempString);
line++;
}
reader.close();
}catch(IOExceptione){
e.printStackTrace();
}finally{
if(reader!=null){
try{
reader.close();
}catch(IOExceptione1){
}
}
}
}
publicstaticvoidmain(String[]args){
StringfileName="C:/temp/append.txt";
Stringcontent="Successfuloperation!";
System.out.println(fileName+"文件的内容如下:");
CharactersDemo_03.showFileContent(fileName);//显示文件内容
//按RandomAccessFile的形式追加文件
System.out.println("\n按RandomAccessFile的形式追加文件后的内容如下:");
CharactersDemo_03.appendMethod_one(fileName,content);
CharactersDemo_03.appendMethod_one(fileName,"\nGameisOver!\n");
CharactersDemo_03.showFileContent(fileName);//显示文件内容
//按FileWriter的形式追加文件
System.out.println("\n按FileWriter的形式追加文件后的内容如下:");
CharactersDemo_03.appendMethod_two(fileName,content);
CharactersDemo_03.appendMethod_two(fileName,"\nGameisOver!\n");
CharactersDemo_03.showFileContent(fileName);//显示文件内容
}
}
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!