io操作过程,有时候,我们是需要重新创建文件,有时候只要在文件末尾追加内容,就可以,那么如何追加呢,给出3种方法:
- import java.io.BufferedWriter;
- import java.io.FileOutputStream;
- import java.io.FileWriter;
- import java.io.IOException;
- import java.io.OutputStreamWriter;
- import java.io.RandomAccessFile;
- public class WriteStreamAppend {
- public static void method1(String file, String conent) {
- BufferedWriter out = null;
- try {
- //FileOutputStream构造函数中的第二个参数true表示以追加形式写文件
- out = new BufferedWriter(new OutputStreamWriter(
- new FileOutputStream(file, true)));
- out.write(conent);
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- try {
- out.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- public static void method2(String fileName, String content) {
- try {
- // 打开一个写文件器,构造函数中的第二个参数true表示以追加形式写文件
- FileWriter writer = new FileWriter(fileName, true);
- writer.write(content);
- writer.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- public static void method3(String fileName, String content) {
- try {
- // 打开一个随机访问文件流,按读写方式
- RandomAccessFile randomFile = new RandomAccessFile(fileName, "rw");
- // 文件长度,字节数
- long fileLength = randomFile.length();
- // 将写文件指针移到文件尾。
- randomFile.seek(fileLength);
- randomFile.writeBytes(content);
- randomFile.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- public static void main(String[] args) {
- System.out.println("start");
- method1("c:/test.txt", "追加到文件的末尾");
- System.out.println("end");
- }
参考文章:https://blog.csdn.net/stefshawn/article/details/7303124