Java中FileWriter的用法及wirte()重载方法详解
作者:No8g攻城狮
这篇文章主要介绍了Java中FileWriter的用法及wirte()重载方法详解,FileWriter是Java编程语言中的一个类,用于将字符写入文件,它提供了一种简单而方便的方式来创建、打开和写入文件,通过使用FileWriter,我们可以将字符数据写入文本文件,需要的朋友可以参考下
一、用法介绍
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 - a fileWriter.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的FileWriter内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!