一,FileWritter写入文件

FileWritter, 字符流写入字符到文件。默认情况下,它会使用新的内容取代所有现有的内容,然而,当指定一个true (布尔)值作为FileWritter构造函数的第二个参数,它会保留现有的内容,并追加新内容在文件的末尾。

1. 替换所有现有的内容与新的内容。

new FileWriter(file);2. 保留现有的内容和附加在该文件的末尾的新内容。

 代码如下 复制代码
new FileWriter(file,true);

追加文件示例
一个文本文件,命名为“javaio-appendfile.txt”,并包含以下内容。

ABC Hello追加新内容 new FileWriter(file,true)

 代码如下 复制代码
package com.yiibai.file;
 
import java.io.File;
import java.io.FileWriter;
import java.io.BufferedWriter;
import java.io.IOException;
 
public class AppendToFileExample
{
    public static void main( String[] args )
    { 
     try{
      String data = " This content will append to the end of the file";
 
      File file =new File("javaio-appendfile.txt");
 
      //if file doesnt exists, then create it
      if(!file.exists()){
       file.createNewFile();
      }
 
      //true = append file
      FileWriter fileWritter = new FileWriter(file.getName(),true);
             BufferedWriter bufferWritter = new BufferedWriter(fileWritter);
             bufferWritter.write(data);
             bufferWritter.close();
 
         System.out.println("Done");
 
     }catch(IOException e){
      e.printStackTrace();
     }
    }
}

结果
现在,文本文件“javaio-appendfile.txt”内容更新如下:

ABC Hello This content will append to the end of the file

二,BufferedWriter写入文件

缓冲字符(BufferedWriter )是一个字符流类来处理字符数据。不同于字节流(数据转换成字节),你可以直接写字符串,数组或字符数据保存到文件。

 代码如下 复制代码

package com.yiibai.iofile;
 
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
 
public class WriteToFileExample {
 public static void main(String[] args) {
  try {
 
   String content = "This is the content to write into file";
 
   File file = new File("/users/mkyong/filename.txt");
 
   // if file doesnt exists, then create it
   if (!file.exists()) {
    file.createNewFile();
   }
 
   FileWriter fw = new FileWriter(file.getAbsoluteFile());
   BufferedWriter bw = new BufferedWriter(fw);
   bw.write(content);
   bw.close();
 
   System.out.println("Done");
 
  } catch (IOException e) {
   e.printStackTrace();
  }
 }
}

三,FileOutputStream写入文件

文件输出流是一种用于处理原始二进制数据的字节流类。为了将数据写入到文件中,必须将数据转换为字节,并保存到文件。请参阅下面的完整的例子。

 代码如下 复制代码

package com.yiibai.io;
 
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
 
public class WriteFileExample {
 public static void main(String[] args) {
 
  FileOutputStream fop = null;
  File file;
  String content = "This is the text content";
 
  try {
 
   file = new File("c:/newfile.txt");
   fop = new FileOutputStream(file);
 
   // if file doesnt exists, then create it
   if (!file.exists()) {
    file.createNewFile();
   }
 
   // get the content in bytes
   byte[] contentInBytes = content.getBytes();
 
   fop.write(contentInBytes);
   fop.flush();
   fop.close();
 
   System.out.println("Done");
 
  } catch (IOException e) {
   e.printStackTrace();
  } finally {
   try {
    if (fop != null) {
     fop.close();
    }
   } catch (IOException e) {
    e.printStackTrace();
   }
  }
 }
}

更新的JDK7例如,www.111cn.net使用新的“尝试资源关闭”的方法来轻松处理文件。

package com.yiibai.io;
 
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
 
public class WriteFileExample {
 public static void main(String[] args) {
 
  File file = new File("c:/newfile.txt");
  String content = "This is the text content";
 
  try (FileOutputStream fop = new FileOutputStream(file)) {
 
   // if file doesn't exists, then create it
   if (!file.exists()) {
    file.createNewFile();
   }
 
   // get the content in bytes
   byte[] contentInBytes = content.getBytes();
 
   fop.write(contentInBytes);
   fop.flush();
   fop.close();
 
   System.out.println("Done");
 
  } catch (IOException e) {
   e.printStackTrace();
  }
 }
}

你可能感兴趣的文章
  • 从网页上读取源代码,并写入文件
  • jsp+java类+servlet实现文件读取、写入的功能(一)
  • jsp+java类+servlet实现文件读取、写入的功能(二)
  • jsp+java类+servlet实现文件读取、写入的功能(三)

java写入文件的几种方法小结相关推荐

  1. java写入文件不覆盖写入_Java写入文件–用Java写入文件的4种方法

    java写入文件不覆盖写入 Java provides several ways to write to file. We can use FileWriter, BufferedWriter, ja ...

  2. java文件写入不覆盖_java写入文件不覆盖写入_Java写入文件–用Java写入文件的4种方法...

    java写入文件不覆盖写入 Java provides several ways to write to file. We can use FileWriter, BufferedWriter, ja ...

  3. java写入文件的几种方法分享

    转自:http://www.jb51.net/article/47062.htm 一,FileWritter写入文件 FileWritter, 字符流写入字符到文件.默认情况下,它会使用新的内容取代所 ...

  4. java写入文件的几种方法(一)

    1. FileWritter写入文件 FileWritter, 字符流写入字符到文件.默认情况下,它会使用新的内容取代所有现有的内容,如下: new FileWriter(file); 然而,当指定一 ...

  5. Python实现将内容写入文件的五种方法总结

    本篇带你详细看一下python将内容写入文件的方法以及细节,主要包括write()方法.writelines() 方法.print() 函数.使用 csv 模块.使用 json 模块,需要的可以参考一 ...

  6. linux删除目录或文件命令行,Linux删除目录下的文件的10种方法小结

    看到了一遍文章,便突发奇想的想起Linux中删除目录下的所有文件的方法:整理了几个,如有不足,还望读者不吝赐教! 删除当前目录下的文件 1.rm -f * #最经典的方法,删除当前目录下的所有类型的文 ...

  7. android写入文件方法,Android 追加写入文件的三种方法

    一.使用FileOutputStream 使用FileOutputStream,在构造FileOutputStream时,把第二个参数设为true public static void method1 ...

  8. java 文件写_java写入文件的几种方法分享

    转自:http://www.jb51.net/article/47062.htm 一,FileWritter写入文件 FileWritter, 字符流写入字符到文件.默认情况下,它会使用新的内容取代所 ...

  9. 画板数据保存成文件的两种方法小结

    前面我学习了绘制画板以及画板的重绘,最近学习将画板数据保存成文件,与大家分享下.关于画板的保存有两种方式.先说说用队列来保存文件吧:首先需要将重绘时用来保存对象的队列按我们定义的文件格式写入文件: / ...

最新文章

  1. 软件文本框横线_免费开源剪辑软件Shotcut推荐和使用教程
  2. 学python语言用什么软件-对于自学python的初学者来说,应该使用什么编辑工具?...
  3. C语言 —— 运算符的优先级
  4. To B路上,除了服务管理,还要知识管理
  5. JS-节点增删改-document-HTML DOM-事件
  6. dbml mysql_MySQL数据库笔记二:数据类型及数据库操作
  7. JavaWeb各大组件生命周期
  8. 计算机未安装flash,win10系统提示未安装Flash的解决方法
  9. ANSYS 闪退问题解决办法
  10. 台式计算机进入安全模式蓝屏,电脑进安全模式蓝屏怎么办
  11. netapp管理地址_NETAPP存储系统管理员手册.doc
  12. 亚马逊云服务器账号注册,免费申请12个月aws亚马逊云详细教程
  13. 统计单表中时间有重叠的数据--同一人出入院时间重叠
  14. Visual Studio “无可用源“ 问题
  15. 【效率工具】Mac上Alfred 实现查询 360/Chrome浏览器 历史记录+书签
  16. 联想服务器报错“传感器ME Status已从不太严重状态转换至紧急状态”
  17. Windows修复白标
  18. ansys与solidworks关联失败_SolidWorks与ANSYS之间的数据交换方法研究
  19. VMware 14安装 CentOS 7
  20. 干货 | 多业务线亿级体量,携程是怎么做账务中台的

热门文章

  1. 大咖说开源|谭中意:如何构建高效/安全/合规的开源软件供应链和国际开源合规标准?...
  2. 牛顿问题(牛吃草问题)-python题解
  3. 新手如何避开机器学习过程中的弯路
  4. 迷你图——别看我个头小,却是图形显示的利器
  5. 聊一聊Redis的锁
  6. mysql连接hostname_使用hostname方式连接数据库!
  7. 计算机的小知识图片,实用电脑小技巧:你可能不知道的图片处理小知识
  8. Activity动态设置主题
  9. 智能门锁存在感应雷达技术应用,微波雷达感应控制方案
  10. java lru lfu_Java集合之LinkedHashMap实现LRU,LFU,FIFO算法