java filewriter_Java IO: FileReader和FileWriter
Reader reader = new FileReader("c:\\data\\input-text.txt");
int data = reader.read();
while(data != -1) {
//do something with data...
doSomethingWithData(data);
data = reader.read();
}
reader.close();
注意:为了清晰,代码忽略了一些必要的异常处理。想了解更多异常处理的信息,请参考Java IO异常处理。
read()方法返回一个包含了读取到的字符内容的int类型变量(译者注:0~65535)。如果方法返回-1,表明FileReader中已经没有剩余可读取字符,此时可以关闭FileReader。-1是一个int类型,不是byte或者char类型,这是不一样的。
FileReader拥有其他可选的构造函数,能够让你使用不同的方式读取文件,更多内容请查看官方文档。
FileReader会假设你想使用你所使用的JVM的版本的默认编码处理字节流,但是这通常不是你想要的,你可以手动设置编码方案。
如果你想明确指定一种编码方案,利用InputStreamReader配合FileInputStream来替代FileReader(译者注:FileReader没有可以指定编码的构造函数)。InputStreamReader可以让你设置编码处理从底层文件中读取的字节。
FileWriter
FileWriter能够把数据以字符流的形式写入文件。同样是处理文件,FileWriter处理字符,FileOutputStream处理字节。根据不同的编码方案,一个字符可能会相当于一个或者多个字节。代码如下:
Writer writer = new FileWriter("c:\\data\\output.txt");
while(moreData) {
String data = getMoreData();
write.write(data);
}
writer.close();
处理文件都会碰到的一个问题是,当前写入的数据是覆盖原文件内容还是追加到文件末尾。当你创建一个FileWriter之后,你可以通过使用不同构造函数实现你的不同目的。
以下的构造函数取文件名作为参数,将会新写入的内容将会覆盖该文件:
Writer writer = new FileWriter("c:\\data\\output.txt");
以下的构造函数取文件名和一个布尔变量作为参数,布尔值表明你是想追加还是覆盖该文件。例子如下:
Writer writer = new FileWriter("c:\\data\\output.txt", true); //appends to file
Writer writer = new FileWriter("c:\\data\\output.txt", false); //overwrites file
同样,FileWriter不能指定编码,可以通过OutputStreamWriter配合FileOutputStream替代FileWriter。
java filewriter_Java IO: FileReader和FileWriter相关推荐
- Java IO: FileReader和FileWriter
转载自 Java IO: FileReader和FileWriter 作者: Jakob Jenkov 译者: 李璟(jlee381344197@gmail.com) 本章节将简要介绍FileRea ...
- java filereader 示例_J04-Java IO流总结四 《 FileReader和FileWriter 》
FileReader和FileWriter的源码相对简单,下面通过分析它们的源码以更好地进行理解这两个流 1. FileReader FileReader实现了读取底层的字节数据并将其转换为字符数据的 ...
- JAVA系列 IO流 知识结构整理 建立合理的知识框架逻辑 输入输出流 理顺你的思维架构Fileoutput inputStream FileWriter FIleReader结构整理
最近听见一首歌,个人创作时听见觉得挺好听的 先分享给大家https://music.163.com/#/song?id=41666363 それがあなたの幸せとしても (カバー) 切入正题 今天给大家介 ...
- IO流的体系及FileReader、FileWriter
package IOStream;import org.junit.Test;import java.io.File; import java.io.FileReader; import java.i ...
- Java FileReader与FileWriter讲解
FileReader与FileWriter讲解 Reader int read() 读取单个字符.作为整数读取的字符,范围在 0 到 65535 之间 (0x00-0xffff)(2个字节的Unico ...
- java io类filereader,39. Java IO: FileReader
想要查看此教程的目录请点击:Java IO教程目录贴地址 FileReader类(java.io.FileReader),可以基于字符流来读取文件内容.它的工作机制类似于FileInputStream ...
- Java基础巩固系列 FileReader和FileWriter(字符流)
代码示例: public class TestFileReaderWriter {/** 使用FileReader FileWriter 可以实现文本文件的复制* 对于非文本文件(视频文件.音频文件. ...
- java中io流实现哪个接口_第55节:Java当中的IO流-时间api(下)-上
标题图 Java当中的IO流(下)-上日期和时间日期类:java.util.Date 系统时间:long time = System.currentTimeMillis();public class ...
- Java基础—IO流
第一讲 IO概述 1. 流的概念 IO流即InputOutput的缩写,在Java中IO流用来处理设备之间的数据传输,Java对数据的操作是通过IO流的方式, 我们可以把IO流抽象的当作一根管道, ...
最新文章
- Flask开发微电影网站(二)
- 思科设备路由器间IPsec ×××实现私网之间通信实战
- Android中导入第三方jar
- java学习(136):带泛型的类
- flutter 获取设备屏幕大小
- IOS 自定义导航栏标题和返回按钮标题
- Excel怎么快速制作二维码图片?
- 牛X的规则引擎urule2
- 计算机格式按键在哪儿,键盘开关按键在哪里
- ae合成设置快捷键_AE超实用快捷键你了解多少?
- Sourcetree和Bitbucket的使用
- 固高运动卡的使用 5 插补运动模式之-直线插补运动
- 这年头视频编辑软件也开始内卷了,功能这么强居然免费
- Android -- 读取assets文件夹下的资源
- 【中途结题】基于弥亚微Mi200E的模块通信实验
- OL实现属性查询的功能
- latex 跳转标签_在 LaTeX 中使用交叉引用
- Java讲师与Android讲师通缉令--悬赏2000元
- 美丽的晚霞动态高清5K壁纸
- 怎样设计才能让文字排版更好看(三)
热门文章
- Android系统辅助触控,辅助触控大师软件下载-辅助触控大师 安卓版v5.0.6-PC6安卓网...
- java实现魔方_闲来无事,用java写了一个魔方小程序。附源码 | 学步园
- 操作系统实验三进程间通信
- NX/UG二次开发—其他—分享几个UG内部函数
- 优思学院|传统的质量管理和现代的六西格玛管理有何分别?
- 网站安全检测接口网站健康状况查询
- 写给那些想做程序员和不想做程序员的人
- 双线机房双网卡双ip DNSpod智能DNS解析和路由设置
- 抖音官网全面改版,网页版正式上线
- Windows Mobile 开发资源 [转]