本文目录

一、用法介绍

二、疑问解答

2.1、如果这个文件不存在会怎么样?

2.2、如果这个文件存在的话会怎么样?

2.3、如果不想覆盖之前的内容,想要追加内容怎么做?

2.4、添加数据,如何实现换行呢?

三、用法拓展

3.1、write 方法重载

3.2、重载示例


一、用法介绍

FileWriter的用法很简单,可以总结为三个词:创建(new)、写出(write)、关闭(close)

创建(new):就是我们平时常用的 new 一个;

写出(write):利用 重载方法 write() 中的某一个写出内容;

关闭(close):关闭流;

以下是一个具体的举例说明:

public class TestFileWriter {public static void main(String[] args) throws IOException {// 方式一,创建的文件会在项目里FileWriter fileWriter1 = new FileWriter("file01.txt");fileWriter1.write("我很骄傲我是中国人!");fileWriter1.write("此生无悔入华夏!");fileWriter1.write("\r\n人生自古谁无死,留取丹心照汗青!");fileWriter1.close();// 方式二,创建的文件会在指定的目录里(注意,这里一定要有写入的权限,否则会创建失败!)FileWriter fileWriter2 = new FileWriter("G:\\aaa\\file02.txt");fileWriter2.write("我很骄傲我是中国人!");fileWriter2.close();}
}

输出结果:

二、疑问解答

以下是汇总的几个常见问题:

2.1、如果这个文件不存在会怎么样?

如果这个文件不存在,那么就会帮我们自动创建一个,创建完以后的纯文本文件放在哪里呢?如果不指定目录就会放在这个 Java project 工程下面,与src目录和target目录同级。
    
    如果指定目录就会把这个文件放到指定的目录下:如上述方式二;FileWriter fileWriter2 = new FileWriter("G:\\aaa\\file02.txt");

2.2、如果这个文件存在的话会怎么样?

如果这个纯文本文件已经存在,并且里面有内容,此时我们再添加内容,就会覆盖掉这个纯文本文件已有的内容。

2.3、如果不想覆盖之前的内容,想要追加内容怎么做?

其实这个也很简单,只需要在创建对象的时候,选择另外一个构造方法(重载形式的构造方法)就可以了。

FileWriter fw = new FileWriter("file01.txt", true);

或者:

FileWriter fileWriter2 = new FileWriter("G:\\aaa\\file02.txt", true);

2.4、添加数据,如何实现换行呢?

往纯文本文件里头添加的数据都是在同一行的,那么如何实现换行呢?

注意区分操作系统:

    Windows 操作系统下:\r\n
    
    Linux 操作系统下:\n
    
    Mac 操作系统下:早期使用的是 \r,现在使用的是 \n

比如:fileWriter1.write("人生自古谁无死,\r\n留取丹心照汗青!");

三、用法拓展

3.1、write 方法重载

write() 有五种重载方式:

    write(int c):写入数字,利用 ASCII 码表 或者 Unicode 表转化
    
    write(String str):写入字符串
    
    write(char[] cbuf):写入字符数组
    
    write(String str, int off, int len):写入字符串的一部分
    
    write(char[] cbuf,int off,int len):写入字符数组的一部分

ASCII 码表中常用的:48 - 0,65 - A,97 - a 

3.2、重载示例

具体举例说明:

 public static void testOverload() throws IOException {FileWriter fileWriter = new FileWriter("file03.txt");// 重载方法一:写入数字,利用 ASCII 码表 或者 Unicode 表转化// ASCII 码表中常用的:48 - 0,65 - A,97 - afileWriter.write(65);fileWriter.write("\r\n");// 定义字符串String str = "我很骄傲我是中国人!";// 重载方法二:写入字符串fileWriter.write(str);fileWriter.write("\r\n");// 重载方法三:写入字符数组char[] javaArray = {'J','a','v','a'};fileWriter.write(javaArray);fileWriter.write("\r\n");// 重载方法四:写入字符串的一部分(结果:我是中国人)fileWriter.write(str, 4, 5);fileWriter.write("\r\n");// 重载方法五:写入字符数组的一部分(结果:v)fileWriter.write(javaArray, 2, 1);fileWriter.close();}

输出结果为:

完结!

【Java用法】FileWriter的用法 wirte() 方法以及几种重载方法的使用详解相关推荐

  1. [转载] JAVA 堆栈 堆 方法区 静态区 final static 内存分配 详解

    参考链接: 在Java中为静态最终static final变量分配值 转载来源:https://blog.csdn.net/peterwin1987/article/details/7571808 J ...

  2. java 线程 状态 图_Java线程中的生命周期和状态控制图文详解

    这篇文章主要介绍了Java线程的生命周期和状态控制,需要的朋友可以参考下 一.线程的生命周期 线程状态转换图: 1.新建状态 用new关键字和Thread类或其子类建立一个线程对象后,该线程对象就处于 ...

  3. php 如何封装类库,ThinkPHP里的import方法用于类库导入的封装实现实例详解

    ThinkPHP里的import方法用于类库导入的封装实现实例详解 分类:PHP_Python| 发布:佚名| 查看: | 发表时间:2014/7/1 import方法是ThinkPHP框架用于类库导 ...

  4. Python字符串对齐方法(ljust()、rjust()和center())详解

    Python字符串对齐方法(ljust().rjust()和center())详解 Python str 提供了 3 种可用来进行文本对齐的方法,分别是 ljust().rjust() 和 cente ...

  5. Java多线程系列(九):CountDownLatch、Semaphore等4大并发工具类详解

    之前谈过高并发编程系列:4种常用Java线程锁的特点,性能比较.使用场景 ,以及高并发编程系列:ConcurrentHashMap的实现原理(JDK1.7和JDK1.8) 今天主要介绍concurre ...

  6. (转)Java任务调度框架Quartz入门教程指南(三)任务调度框架Quartz实例详解深入理解Scheduler,Job,Trigger,JobDetail...

    http://blog.csdn.net/zixiao217/article/details/53053598 首先给一个简明扼要的理解: Scheduler 调度程序-任务执行计划表,只有安排进执行 ...

  7. Java基础之匿名内部类,匿名内部类是什么?为什么要用匿名内部类,匿名内部类详解。

    Java基础之匿名内部类,匿名内部类是什么?为什么要用匿名内部类,匿名内部类详解. 什么是匿名内部类? 顾名思义 匿名 就是没有名字,一个没有名字的内部类,称为匿名内部类. 下面先看一个例子,比如说你 ...

  8. python把数据写入excel_Python读写sqlite3数据库的方法并且将数据写入Excel的实例详解...

    这篇文章主要介绍了Python实现读写sqlite3数据库并将统计数据写入Excel的方法,涉及Python针对sqlite3数据库的读取及Excel文件相关操作技巧,需要的朋友可以参考下 本文实例讲 ...

  9. 27、Python 面向对象(创建类、创建实例对象、访问属性、内置类属性、对象销毁、类的继承、方法重写、基础重载方法、运算符重载、类属性与方法、下划线双下划线)

    27Python面向对象(Python2) Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. ...

最新文章

  1. ubuntu14.04 升级gcc的方法
  2. SQL实现分组查询取前几条记录
  3. 业界 | 李彦宏:中国人愿意用隐私交换便利性;无人车事故是“人咬狗”新闻...
  4. wireshark读写pcap文件_PCAP-file-analysis 利用wireshark捕获tcp ip数据包和pcap文件分析 - 下载 - 搜珍网...
  5. BaaS(区块链即服务Blockchain as a Service)
  6. #define定义宏函数 的正确使用
  7. python微信接口发送消息_Python 微信公众号发送消息
  8. 界面设计 java_Java界面设计
  9. linux主机设备acl,linux上的终端类型、ACL、PAM模块
  10. android 三星 oom,android - 终结者抛出未捕获的异常:谷歌API错误或三星内核错误? - 堆栈内存溢出...
  11. python实现get请求 模块_python爬虫 基于requests模块发起ajax的get请求实现解析
  12. excel删除行 uipath_工作再忙,也要学会这10个最经典的Excel小技巧
  13. 教你React Native使用fetch实现图片上传
  14. vue axios配置 发起请求加载loading请求结束关闭loading
  15. linq判断集合中相同元素个数_使用Linq获取集合的最后N个元素?
  16. MATLAB中MRE误差怎么算,『怎样用excel 求RMSE(均方根误差)和MRE(平均相对误差),不知道选计算函数中的哪个,非常谢谢。』excle怎么算均方误差...
  17. 周鸿祎麻辣点评中国互联网公司
  18. tf15: 中文语音识别【转】
  19. python图形包是什么_介绍Python 图形计算工具包
  20. catalina 无法验证macos_macOS Catalina 无法安装是什么原因?

热门文章

  1. Vue Router详细教程
  2. 《开源之歌》,献给每一位开源人
  3. 年度直播电商抖音运营方案商业计划书模板PPT
  4. 常用函数sizeof()
  5. CCL |模型结构优化前沿动态综述
  6. Quill.js 专题
  7. eclipse 护眼色设置
  8. Markdown与富文本编辑器的区别及使用建议
  9. 游戏开发unity资源管理系列:unity不支持长路径;DirectoryNotFoundException: Could not find a part of the path ““
  10. 11.20聚类色彩分析