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);//显示文件内容 } }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!