1. import java.io.BufferedWriter;
  2. import java.io.FileOutputStream;
  3. import java.io.FileWriter;
  4. import java.io.IOException;
  5. import java.io.OutputStreamWriter;
  6. import java.io.RandomAccessFile;
  7. /**
  8. * 描述:追加内容到文件末尾
  9. * @author Administrator
  10. *
  11. */
  12. public class WriteStreamAppend {
  13. /**
  14. * 追加文件:使用FileOutputStream,在构造FileOutputStream时,把第二个参数设为true
  15. *
  16. * @param fileName
  17. * @param content
  18. */
  19. public static void method1(String file, String conent) {
  20. BufferedWriter out = null;
  21. try {
  22. out = new BufferedWriter(new OutputStreamWriter(
  23. new FileOutputStream(file, true)));
  24. out.write(conent);
  25. } catch (Exception e) {
  26. e.printStackTrace();
  27. } finally {
  28. try {
  29. out.close();
  30. } catch (IOException e) {
  31. e.printStackTrace();
  32. }
  33. }
  34. }
  35. /**
  36. * 追加文件:使用FileWriter
  37. *
  38. * @param fileName
  39. * @param content
  40. */
  41. public static void method2(String fileName, String content) {
  42. try {
  43. // 打开一个写文件器,构造函数中的第二个参数true表示以追加形式写文件
  44. FileWriter writer = new FileWriter(fileName, true);
  45. writer.write(content);
  46. writer.close();
  47. } catch (IOException e) {
  48. e.printStackTrace();
  49. }
  50. }
  51. /**
  52. * 追加文件:使用RandomAccessFile
  53. *
  54. * @param fileName
  55. *            文件名
  56. * @param content
  57. *            追加的内容
  58. */
  59. public static void method3(String fileName, String content) {
  60. try {
  61. // 打开一个随机访问文件流,按读写方式
  62. RandomAccessFile randomFile = new RandomAccessFile(fileName, "rw");
  63. // 文件长度,字节数
  64. long fileLength = randomFile.length();
  65. // 将写文件指针移到文件尾。
  66. randomFile.seek(fileLength);
  67. randomFile.writeBytes(content);
  68. randomFile.close();
  69. } catch (IOException e) {
  70. e.printStackTrace();
  71. }
  72. }
  73. public static void main(String[] args) {
  74. System.out.println("start");
  75. method1("c:/test.txt", "追加到文件的末尾");
  76. System.out.println("end");
  77. }

java追加文件的几种方式的更多相关文章

  1. 【文件下载】Java下载文件的几种方式

    [文件下载]Java下载文件的几种方式  摘自:https://www.cnblogs.com/sunny3096/p/8204291.html 1.以流的方式下载. public HttpServl ...

  2. Java读写文件的几种方式

    自工作以后好久没有整理Java的基础知识了.趁有时间,整理一下Java文件操作的几种方式.无论哪种编程语言,文件读写操作时避免不了的一件事情,Java也不例外.Java读写文件一般是通过字节.字符和行 ...

  3. java复制文件的4种方式

    尽管Java提供了一个可以处理文件的IO操作类.但是没有一个复制文件的方法.复制文件是一个重要的操作,当你的程序必须处理很多文件相关的时候.然而有几种方法可以进行Java文件复制操作,下面列举出4中最 ...

  4. [JAVA]java复制文件的4种方式

    尽管Java提供了一个可以处理文件的IO操作类. 但是没有一个复制文件的方法. 复制文件是一个重要的操作,当你的程序必须处理很多文件相关的时候. 然而有几种方法可以进行Java文件复制操作,下面列举出 ...

  5. Java读取文件的几种方式

    package com.mesopotamia.test; import java.io.BufferedReader; import java.io.ByteArrayInputStream; im ...

  6. Java下载文件的几种方式

    转发自博客园Sunny的文章 1.以流的方式下载 public HttpServletResponse download(String path, HttpServletResponse respon ...

  7. java 下载文件的两种方式和java文件的上传

    一:以网络的方式下载文件 try { // path是指欲下载的文件的路径. File file = new File(path); // 以流的形式下载文件. InputStream fis = n ...

  8. java遍历文件夹两种方式

    1:非递归方式(有点类似二叉树的非递归遍历,采用链表来存储遍历到的文件夹,如果是文件就直接输出) public void traverseFile(String path){ File[] files ...

  9. java读取文件的几种方式性能比较

    //普通输入流读取文件内容 public static long checksumInputStream(Path filename) { try(InputStream in= Files.newI ...

随机推荐

  1. jQuery Mobile 页面事件总结

    一.页面初始化事件(Page initiallization) 在页面创建前,当页面创建时,以及在页面初始化之后.只在第一次加载时执行. 1. pagebeforecreate 页面创建前 [sour ...

  2. filter在CSS中的效果

    滤镜说明: Alpha:设置透明层次 blur:创建高速度移动效果,即模糊效果 Chroma:制作专用颜色透明 DropShadow:创建对象的固定影子 FlipH:创建水平镜像图片 FlipV:创建 ...

  3. select多个字段赋值给多个变量

    在存储过程中定义了变量v1 int;v2 int;v3 int;从表tab1选择3个字段f1,f2,f3赋值给这三个变量,要如何写 如果单个变量可以  select f1 into v1 from t ...

  4. web缓存值varnish使用

    具体的介绍到官网 https://www.varnish-software.com/static/book 一.简介 Varnish is a reverse HTTP proxy, sometime ...

  5. SQL Server 非聚集索引的覆盖,连接,交叉和过滤 <第二篇>

    在SQL Server中,非聚集索引其实可以看做是一个含有聚集索引的表,但相对实际的表来说,非聚集索引中所存储的表的列数要少得多,一般就是索引列,聚集键(或RID).非聚集索引仅仅包含源表中的非聚集索 ...

  6. 研究QGIS二次开发笔记(一)

    为了在QT程序中嵌入一个地图,最终选择了QGIS来干这件事.选型阶段真是呵呵.我折腾的是QGIS2.4.0. 首先,到官方网站下载安装QGIS.如果你跟我一样懒的话,可能希望下载一个已经编译好的win ...

  7. enumerate

    enumerate 函数用于遍历序列中的元素并分配一个序号(序号默认从零开始 可以制定任意值): >>> for i,j in enumerate(('a','b','c')): p ...

  8. [原创]mac终端前面的计算机名怎么改??

    1.修改-之前的名称 mac环境,系统 OS X Yisemite,打开终端, 执行下面命令“Tmp”是你想要改的电脑名称 sudo scutil --set HostName Tmp 执行前,执行后 ...

  9. POJ1384Piggy-Bank(DP)

    POJ1384http://poj.org/problem?id=1384 最简单的完全背包问题,注意下初始化为INF就可以. #include <map> #include <se ...

  10. HDU3874Necklace(树状数组+离线操作)

    此题的大意思说有一串珠子,每个珠子都有自己的欣赏值value,现在给你一串珠子每个的欣赏值,并给出一些询问,查询某个区间内部总欣赏值是多少,但是有一个约定就是如果这个区间内部有两个珠子的欣赏值是一样的 ...