【Java用法】FileWriter的用法 wirte() 方法以及几种重载方法的使用详解
本文目录
一、用法介绍
二、疑问解答
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() 方法以及几种重载方法的使用详解相关推荐
- [转载] JAVA 堆栈 堆 方法区 静态区 final static 内存分配 详解
参考链接: 在Java中为静态最终static final变量分配值 转载来源:https://blog.csdn.net/peterwin1987/article/details/7571808 J ...
- java 线程 状态 图_Java线程中的生命周期和状态控制图文详解
这篇文章主要介绍了Java线程的生命周期和状态控制,需要的朋友可以参考下 一.线程的生命周期 线程状态转换图: 1.新建状态 用new关键字和Thread类或其子类建立一个线程对象后,该线程对象就处于 ...
- php 如何封装类库,ThinkPHP里的import方法用于类库导入的封装实现实例详解
ThinkPHP里的import方法用于类库导入的封装实现实例详解 分类:PHP_Python| 发布:佚名| 查看: | 发表时间:2014/7/1 import方法是ThinkPHP框架用于类库导 ...
- Python字符串对齐方法(ljust()、rjust()和center())详解
Python字符串对齐方法(ljust().rjust()和center())详解 Python str 提供了 3 种可用来进行文本对齐的方法,分别是 ljust().rjust() 和 cente ...
- Java多线程系列(九):CountDownLatch、Semaphore等4大并发工具类详解
之前谈过高并发编程系列:4种常用Java线程锁的特点,性能比较.使用场景 ,以及高并发编程系列:ConcurrentHashMap的实现原理(JDK1.7和JDK1.8) 今天主要介绍concurre ...
- (转)Java任务调度框架Quartz入门教程指南(三)任务调度框架Quartz实例详解深入理解Scheduler,Job,Trigger,JobDetail...
http://blog.csdn.net/zixiao217/article/details/53053598 首先给一个简明扼要的理解: Scheduler 调度程序-任务执行计划表,只有安排进执行 ...
- Java基础之匿名内部类,匿名内部类是什么?为什么要用匿名内部类,匿名内部类详解。
Java基础之匿名内部类,匿名内部类是什么?为什么要用匿名内部类,匿名内部类详解. 什么是匿名内部类? 顾名思义 匿名 就是没有名字,一个没有名字的内部类,称为匿名内部类. 下面先看一个例子,比如说你 ...
- python把数据写入excel_Python读写sqlite3数据库的方法并且将数据写入Excel的实例详解...
这篇文章主要介绍了Python实现读写sqlite3数据库并将统计数据写入Excel的方法,涉及Python针对sqlite3数据库的读取及Excel文件相关操作技巧,需要的朋友可以参考下 本文实例讲 ...
- 27、Python 面向对象(创建类、创建实例对象、访问属性、内置类属性、对象销毁、类的继承、方法重写、基础重载方法、运算符重载、类属性与方法、下划线双下划线)
27Python面向对象(Python2) Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. ...
最新文章
- ubuntu14.04 升级gcc的方法
- SQL实现分组查询取前几条记录
- 业界 | 李彦宏:中国人愿意用隐私交换便利性;无人车事故是“人咬狗”新闻...
- wireshark读写pcap文件_PCAP-file-analysis 利用wireshark捕获tcp ip数据包和pcap文件分析 - 下载 - 搜珍网...
- BaaS(区块链即服务Blockchain as a Service)
- #define定义宏函数 的正确使用
- python微信接口发送消息_Python 微信公众号发送消息
- 界面设计 java_Java界面设计
- linux主机设备acl,linux上的终端类型、ACL、PAM模块
- android 三星 oom,android - 终结者抛出未捕获的异常:谷歌API错误或三星内核错误? - 堆栈内存溢出...
- python实现get请求 模块_python爬虫 基于requests模块发起ajax的get请求实现解析
- excel删除行 uipath_工作再忙,也要学会这10个最经典的Excel小技巧
- 教你React Native使用fetch实现图片上传
- vue axios配置 发起请求加载loading请求结束关闭loading
- linq判断集合中相同元素个数_使用Linq获取集合的最后N个元素?
- MATLAB中MRE误差怎么算,『怎样用excel 求RMSE(均方根误差)和MRE(平均相对误差),不知道选计算函数中的哪个,非常谢谢。』excle怎么算均方误差...
- 周鸿祎麻辣点评中国互联网公司
- tf15: 中文语音识别【转】
- python图形包是什么_介绍Python 图形计算工具包
- catalina 无法验证macos_macOS Catalina 无法安装是什么原因?
热门文章
- Vue Router详细教程
- 《开源之歌》,献给每一位开源人
- 年度直播电商抖音运营方案商业计划书模板PPT
- 常用函数sizeof()
- CCL |模型结构优化前沿动态综述
- Quill.js 专题
- eclipse 护眼色设置
- Markdown与富文本编辑器的区别及使用建议
- 游戏开发unity资源管理系列:unity不支持长路径;DirectoryNotFoundException: Could not find a part of the path ““
- 11.20聚类色彩分析