Java基础知识强化之IO流笔记36:FileReader/FileWriter(转换流的子类)复制文本文件案例02
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java基础知识强化之IO流笔记36:FileReader/FileWriter(转换流的子类)复制文本文件案例02,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2001字,纯文字阅读大概需要3分钟。
内容图文
1. 转换流的简化写法:
由于我们常见的操作都是使用本地默认编码,所以,不用指定编码。
而转换流的名称有点长,所以,Java就提供了其子类供我们使用:FileReader / FileWriter
OutputStreamWriter = FileOutputStream + 编码表(GBK)
FileWriter = FileOutputStream + 编码表(GBK)
InputStreamReader = FileInputStream + 编码表(GBK)
FileReader = FileInputStream + 编码表(GBK)
2. FileReader / FileWriter两者的构造方法:
(1)FileReader的构造方法
构造方法摘要 | |
---|---|
FileReader(File file)
在给定从中读取数据的 File 的情况下创建一个新 FileReader。 |
|
FileReader(FileDescriptor fd)
在给定从中读取数据的 FileDescriptor 的情况下创建一个新 FileReader。 |
|
FileReader(String fileName)
在给定从中读取数据的文件名的情况下创建一个新 FileReader。 |
(2)FileWriter的构造方法
构造方法摘要 | |
---|---|
FileWriter(File file)
根据给定的 File 对象构造一个 FileWriter 对象。 |
|
FileWriter(File file,
boolean append)
根据给定的 File 对象构造一个 FileWriter 对象。 |
|
FileWriter(FileDescriptor fd)
构造与某个文件描述符相关联的 FileWriter 对象。 |
|
FileWriter(String fileName)
根据给定的文件名构造一个 FileWriter 对象。 |
|
FileWriter(String fileName,
boolean append)
根据给定的文件名以及指示是否附加写入数据的 boolean 值来构造 FileWriter 对象。 |
3. 需求:把当前项目目录下的a.txt内容复制到当前项目目录下的b.txt中
数据源:
a.txt -- 读取数据 -- 字符转换流 -- InputStreamReader -- FileReader
目的地:
b.txt -- 写出数据 -- 字符转换流 -- OutputStreamWriter -- FileWriter
4. 代码示例:
1 package cn.itcast_04; 2 3 import java.io.FileReader; 4 import java.io.FileWriter; 5 import java.io.IOException; 6 7 /* 8 * 需求:把当前项目目录下的a.txt内容复制到当前项目目录下的b.txt中 9 * 10 * 数据源: 11 * a.txt -- 读取数据 -- 字符转换流 -- InputStreamReader -- FileReader 12 * 目的地: 13 * b.txt -- 写出数据 -- 字符转换流 -- OutputStreamWriter -- FileWriter 14 */ 15 public class CopyFileDemo2 { 16 public static void main(String[] args) throws IOException { 17// 封装数据源18 FileReader fr = new FileReader("a.txt"); 19// 封装目的地20 FileWriter fw = new FileWriter("b.txt"); 2122// 一次一个字符 23// int ch = 0; 24// while ((ch = fr.read()) != -1) { 25// fw.write(ch); 26// } 2728// 一次一个字符数组29char[] chs = newchar[1024]; 30int len = 0; 31while ((len = fr.read(chs)) != -1) { 32 fw.write(chs, 0, len); 33 fw.flush(); 34 } 3536// 释放资源37 fw.close(); 38 fr.close(); 39 } 40 }
运行结果,如下:
原文:http://www.cnblogs.com/hebao0514/p/4868764.html
内容总结
以上是互联网集市为您收集整理的Java基础知识强化之IO流笔记36:FileReader/FileWriter(转换流的子类)复制文本文件案例02全部内容,希望文章能够帮你解决Java基础知识强化之IO流笔记36:FileReader/FileWriter(转换流的子类)复制文本文件案例02所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。