java追加文件的几种方式

  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. }
上一篇:sql语句中获取datetime的日期部分或时间部分


下一篇:java复制文件的4种方式