- import java.io.BufferedWriter;
- import java.io.FileWriter;
- import java.io.IOException;
- import java.io.RandomAccessFile;
- import java.io.OutputStreamWriter;
- import java.io.File;
- import java.io.FileOutputStream;
- import java.lang.*;
- /******************************
- * 写文本
- * java.lang.Object
- |-java.io.Writer
- |-java.io.OutputStreamWriter
- |-java.io.FileWriter
- * java.lang.Object
- |-java.io.Writer
- |-java.io.BufferedWriter
- * 写二进制
- * java.lang.Object
- |-java.io.OutputStream
- |-java.io.FileOutputStream
- *******************************/
- /**
- * 将内容追加到文件尾部
- */
- public class AppendToFile {
- /**
- * A方法追加文件:使用RandomAccessFile
- * @param fileName 文件名
- * @param content 追加的内容
- * note:适用于二进制文件,不支持中文字符
- */
- public static void appendMethodBytes(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();
- }
- }
- /**
- * B方法追加文件:使用FileWriter
- * @param fileName
- * @param content
- * note:适用于文本文件
- */
- public static void appendMethodChrs(String fileName, String content){
- try {
- //打开一个写文件器,构造函数中的第二个参数true表示以追加形式写文件
- FileWriter writer = new FileWriter(fileName, true);
- writer.write(content);
- writer.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- /**
- * 按指定charset追加文本文件,使用BufferedWriter
- * @param fileName
- * @param content
- * @param charset
- */
- public static void appendMethodCharset(String fileName,String content,String charset)
- {
- try {
- //FileOutputStream构造函数中的第二个参数true表示以追加形式写文件
- BufferedWriter out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fileName,true),charset));
- out.write(content);
- out.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- public static void main(String[] args) {
- String fileName = "appendTemp.txt";
- String fileName1 = "appendTemp1.txt";
- String fileName2 = "appendTemp2.txt";
- String content = "new append!这是";
- //按方法A追加文件
- AppendToFile.appendMethodBytes(fileName, content);
- AppendToFile.appendMethodBytes(fileName, "append end. n");
- //显示文件内容
- ReadFromFile.readFileByLines(fileName);
- //按方法B追加文件
- AppendToFile.appendMethodChrs(fileName1, content);
- AppendToFile.appendMethodChrs(fileName1, "append end. n");
- //按appendMethodCharset追加文件
- AppendToFile.appendMethodCharset(fileName2, content, "gbk");
- AppendToFile.appendMethodCharset(fileName2,"append end. n", "gbk");
- //显示文件内容
- ReadFromFile.readFileByLines(fileName1);
- }
- }
Java追加文件
最新推荐文章于 2021-08-30 16:17:26 发布