向文件尾加入内容有多种方法,常见的方法有两种:

RandomAccessFile类可以实现随机访问文件的功能,可以以读写方式打开文件夹的输出流

public void seek(long pos)可以将读写指针移到文件尾,参数Pos表示从文件开头以字节为单位测量的偏移位置,在该位置文件指针。

public void write(int pos)将数据写到读写指针后面,完成文件的追加。参数pos表示要写入的Byte

通过FileWrite打开文件输出流,构造FileWrite时指定写入模式,是一个布尔量,为真时表示写入的内容添加到已有文件的内容的后面,为假时表示重新写文件,以前的记录被清空,默认的值为假。

具体的例子可以参看以下的代码:

package Characters;

import java.io.BufferedReader;

import java.io.File;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

import java.io.RandomAccessFile;

public class CharactersDemo_03 {

// 使用RandomAccessFile实现文件的追加,其中:fileName表示文件名;content表示要追加的内容

public static void appendMethod_one(String fileName, String content) {

try {

// 按读写方式创建一个随机访问文件流

RandomAccessFile raf = new RandomAccessFile(fileName, "rw");

long fileLength = raf.length();// 获取文件的长度即字节数

// 将写文件指针移到文件尾。

raf.seek(fileLength);

// 按字节的形式将内容写到随机访问文件流中

raf.writeBytes(content);

// 关闭流

raf.close();

} catch (IOException e) {

e.printStackTrace();

}

}

// 使用FileWriter实现文件的追加,其中:fileName表示文件名;content表示要追加的内容

public static void appendMethod_two(String fileName, String content) {

try {

// 创建一个FileWriter对象,其中boolean型参数则表示是否以追加形式写文件

FileWriter fw = new FileWriter(fileName, true);

// 追加内容

fw.write(content);

// 关闭文件输出流

fw.close();

} catch (IOException e) {

e.printStackTrace();

}

}

public static void showFileContent(String fileName) {

File file = new File(fileName);

BufferedReader reader = null;

try {

System.out.println("以行为单位读取文件内容,一次读一整行:");

reader = new BufferedReader(new FileReader(file));

String tempString = null;

int line = 1;

// 一次读入一行,直到读入null为文件结束

while ((tempString = reader.readLine()) != null) {

// 显示行号

System.out.println(line + ": " + tempString);

line++;

}

reader.close();

} catch (IOException e) {

e.printStackTrace();

} finally {

if (reader != null) {

try {

reader.close();

} catch (IOException e1) {

}

}

}

}

public static void main(String[] args) {

String fileName = "C:/temp/append.txt";

String content = "Successful operation!";

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, "\n Game is Over! \n");

CharactersDemo_03.showFileContent(fileName); // 显示文件内容

// 按FileWriter的形式追加文件

System.out.println("\n按FileWriter的形式追加文件后的内容如下:");

CharactersDemo_03.appendMethod_two(fileName, content);

CharactersDemo_03.appendMethod_two(fileName, "\n Game is Over! \n");

CharactersDemo_03.showFileContent(fileName); // 显示文件内容

}

}

java 文件流 追加_JAVA向文件中追加内容(转)相关推荐

  1. java io流大全_Java IO流系统整理

    Java IO流的分类 Java中的流,可以从不同的角度进行分类. 按流向分类: 输入流: 程序可以从中读取数据的流. 输出流: 程序能向其中写入数据的流. 按数据传输单位分类: 字节流:以字节(8位 ...

  2. Linux C语言 fileno(返回文件流所使用的文件描述词)

    fileno(返回文件流所使用的文件描述词) 相关函数 open,fopen 表头文件 #include<stdio.h> 定义函数 int fileno(FILE * stream); ...

  3. java 文件流 重写_java中关于文件流的总结

    [File类] 1. 作用: 用于对磁盘文件进行操作. 删除.创建等. 2. 三种常用的构造函数: ① File file1 = new File("F:\\test"); 直接传 ...

  4. java io文件流序列化_Java——Properties集合,Object序列化流与反序列化流,打印流,commons-IO文件工具类...

    一.properties集合 集合对象Properties类,继承Hashtable,实现Map接口,可以和IO对象结合使用,实现数据的持久存储. 特点: Hashtable的子类,map集合中的方法 ...

  5. java io流 教程_Java基础教程:IO流与文件基础

    Java:IO流与文件基础 说明: 本章内容将会持续更新,大家可以关注一下并给我提供建议,谢谢啦. 走进流 什么是流 流:指的是从源到目的地的字节的有序序列. 在Java中,可以从其中读取一个字节序列 ...

  6. Java基础--文件流创建FOS对象--重写模式追加模式

    一.创建FOS对象(重写模式) FileOutputStream是文件的字节输出流,以字节为单位将数据写入文件 FileOutputStream(File File):---创建一个file对象表示的 ...

  7. java文件流读取_java 文件及流读取

    在Java语言的IO编程中,读取文件是分两个步骤:1.将文件中的数据转换为流,2.读取流内部的数据.其中第一个步骤由系统完成,只需要创建对应的流对象即可,对象创建完成以后步骤1就完成了,第二个步骤使用 ...

  8. java 字符流读取_Java 字符流读写文件

    据说,java读写文件要写很多,贼麻烦,不像c艹,几行代码就搞定.只能抄抄模板拿来用了. 输入输出流分字节流和字符流.先看看字符流的操作,字节转化为字符也可读写. 一.写入文件 1.FileWrite ...

  9. java获取properties属性_java工具类中获取properties文件的属性

    记录获取properties文件属性的工具类 package org.jasig.cas.mylogin.util; import org.slf4j.Logger; import org.slf4j ...

  10. java压缩zip文件夹错误_Java将文件或者文件夹压缩成zip(修复文件夹中存在多个文件报Stream Closed错误问题)...

    项目场景: Java将文件或者文件夹压缩成zip(修复文件夹中存在多个文件报Stream Closed错误问题) 问题描述: 最近的项目需要将多级文件夹压缩成zip,网上找了几个工具类,都会报错,所以 ...

最新文章

  1. c语言定义链式队列用菜单,数据结构之---C语言实现链式队列
  2. 必看!互联网开发模式的经验之谈
  3. Visual Studio 远程调试正在运行的进程
  4. 将ubuntu配置为路由器_“名酒为王”时代来临但资源将尽,看泸州老窖如何进行“名酒资源再配置”丨深度观察...
  5. 计算机硬件无法启动不能读取文件,修复Windows出现的“文件或目录已损坏且无法读取”问题...
  6. 小白Linux入门之:常用命令介绍
  7. 在线动态几何编辑器 GeometryEditor
  8. 阜阳智慧城市建设居全国地市级城市第11位
  9. Idea的JShell Console
  10. 收货地址列表html,收货地址.html
  11. stata--异方差检验
  12. 手机UC浏览器导出书签到电脑Chrome浏览器中
  13. JETT(三)-多Sheet渲染
  14. 南宁计算机职称考试网,南宁人事考试职称网
  15. Db2插入数据溢出报错测试
  16. 【行研报告】小红书红人及商业内容数据报告—附下载链接
  17. 【广度优先搜索-中等】1905. 统计子岛屿
  18. 读书的理由——好书推荐
  19. 阿里云如何安装部署Oracle11g 图文?
  20. [11.7日学习记录]多目标优化和帕累托最优解集(未完成)

热门文章

  1. Context 使用不当造成内存泄露
  2. Codeforces 679A Bear and Prime 100
  3. Java调用Memcache入门
  4. java 远程调用方法_如何在Java中实现远程方法调用
  5. class path resource [spring/] cannot be resolved to URL because it does not exist
  6. Mybatis mapper.xml中常用标签详解
  7. js实现登录表单验证
  8. STC学习:扫描频率可变的电子钟
  9. HUSTOJ(2019)在线判题系统的从零开始搭建过程
  10. 怎么重装python_如何部署Jupyter Notebook用于交互式Python开发?