文件字符流(FileReader/FileWriter)
文件字符流(FileReader/FileWriter)针对文件字符的操作,不同于文件字节流(FileInputStream/FileOutputStream)。它是针对字符来进行操作的,因此他在处理纯字符集(纯文本)时十分的方便。而文件字节流能够处理音频,视频等等除纯文本以外的文件类型,因为他们是以字节为单位的。但是文件字符流不能够处理字节,它只能处理以字符为单位的文件。因此他不能处理音频,视频等以字节为单位的文件。
一.文件字符输入流(FileReader)
文件字符输入流是将文件中的字符读取到程序中。
文件字符流的操作步骤与文件字节流一样:
1.创建源
2.选择流
3.具体操作
4.释放资源
以文件字符流操作纯文本文件,可以很好的解决乱码的问题。具体代码如下:
import java.io.*;/*** 测试Reader(对字符进行操作)* 字符数组-->字符串* Reader:read()*/
public class TestReader {public static void main(String[] args) {//创建源File file = new File("abc.txt");//选择流Reader reader = null;try {reader = new FileReader(file);//操作char[] flush = new char[1024]; //缓冲容器 InputStream:byte[](字节数组) Reader:char[](字符数组)int len = -1; //接收长度try {while ((len = reader.read(flush))!=-1){//字符数组-->字符串String str = new String(flush,0,len);System.out.print(str);}} catch (IOException e) {e.printStackTrace();}} catch (FileNotFoundException e) {e.printStackTrace();}finally {try {if (reader!=null){reader.close();}} catch (IOException e) {e.printStackTrace();}}}
}
以字符数组为单位进行操作,因此定义读取的字符数组char[],每次读取1024个字符,然后转化成字符串(String str = new String(flush,0,len))在进行写出。
二.文件字符输出流(FileWriter)
文件字符输出流是将程序中的字符串以字符形式写出到文件中去。具体代码如下:
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;/*** 测试Writer(对字符进行操作)* 字符串-->字符数组*/
public class TestWriter {public static void main(String[] args) {//创建源File file = new File("dest.txt");//选择流Writer writer = null;try {writer = new FileWriter(file,true);//操作//写法一
// String str = "问君能有几多愁?恰似一江春水向东流。";
// //字符串-->字符数组
// char[] datas = str.toCharArray();
// writer.write(datas,0,datas.length);//写法二
// String str = "问君能有几多愁?恰似一江春水向东流。";
// writer.write("\t"+str);//写法三String str = "\n问君能有几多愁?恰似没穿秋裤遇寒流。";String str1 = "\n笑渐不闻声渐悄,多情却被无情恼";writer.append(str).append(str1);writer.flush();} catch (IOException e) {e.printStackTrace();}finally {try {if (writer!=null){writer.close();}} catch (IOException e) {e.printStackTrace();}}}
}
FileWriter是将字符串转化为字符数组(char[] datas = str.toCharArray())然后进行写出,如果进行多个字符串的写出,可以使用writer.append()进行追加,这样可以一次性写出多条字符串语句到文件中。
文件字符流(FileReader/FileWriter)相关推荐
- Java的知识点29—— 文件字符流、字节数组流
文件字符流 FileReader FileWriter 分段读取 文件字符输入流 package cn.dym; import java.io.File; import java.io.FileNo ...
- 基本文件字符流FileWriter、FileReader
详细介绍了Java IO中的基本文件字符流FileWriter.FileReader的方法以及使用方式. 文章目录 1. IO流概述 2 FileWriter文件字符输出流 2.1 构造器 2.2 A ...
- 字符流(FileReader,FileWriter,BufferedReader,BufferedWriter)
字符流(FileReader,FileWriter,BufferedReader,BufferedWriter) 字符流只能对纯文本进行操作,所以输出不会乱码,字符流又分为字符输输入流与字符输出流,他 ...
- .dat文件写入byte类型数组_文件字节流、文件字符流、缓冲字节流、缓冲字符流字节数组流、数据流、转换流、对象流...
一.实操名称: 描述如下流的基本作用:文件字节流.文件字符流.缓冲字节流.缓冲字符流字节数组流.数据流.转换流.对象流二.描述1.文件字节流:包括:FileInputStream,FileOutput ...
- 1.文件字符流:什么是文件字符流???
1.文件字符流:什么是文件字符流??? 学习:第7遍 1.什么是文件字符流??? Reader是字符输入流的顶层父类,直接子类:6个 Reader常用子类: FileReader BufferedRe ...
- 文件字符输入流 FileReader java
文件字符输入流 FileReader java 构造方法 FileReader(File file) 在给定从中读取数据的 File 的情况下创建一个新 FileReader. FileReader( ...
- java 文件字节流_Java:文件字符流和字节流的输入和输出
最近在学习Java,所以就总结一篇文件字节流和字符流的输入和输出. 总的来说,IO流分类如下: 输入输出方向: 输入流(从外设读取到内存)和输出流(从内存输出到外设) 数据的操作方式: 字节流 ...
- 20170118:File类与IO流,File类,IO流的基本原理,IO流的分类,文件字节流与文件字符流
一.File类 1.java.io.File类代表系统文件(文件和目录) 访问文件属性步骤 1). 创建文件对象:File file = new File(String pathname); 2). ...
- Java_文件字符流说明
FileReader和FileWrite介绍 FileReader和FileWriter是字符流,即按照字符来操作io FileReader相关方法: new FileReader(File/Stri ...
最新文章
- 神经网络为什么需要多次epoch
- 华为正式宣布养猪,网友沸腾:支持华为自救!
- SAP MM 初阶之事务代码MIGO中采购退货的处理
- Java入门(一):Hello World !
- np.trapz 生动的解释
- 第五章5.1 strace
- 045_Unicode对照表十一
- bootloader搞定,1.67秒!
- MAVEN简介之——settings.xml
- 2018/7/16-纪中某C组题【jzoj4024,jzoj4025,jzoj2136,jzoj2137】
- 坐标下降法和交替最小二乘法的区别是什么?
- Java基础总结(上)
- Web UI设计基础
- 原来这就是公文写作领导讲话稿万能模板(1)
- Shardingsphere 简介
- 2023年高新技术企业认定申报注意事项
- mysql关系图查看
- typescript (TS)进阶篇 --- 内置高阶泛型工具类型(Utility Type)
- Git工作原理_繁星漫天_新浪博客
- 恶意代码Lab11-03分析
热门文章
- java 控制台scanner的中文输入问题
- python 获取收件箱的具体信息
- matlab绘制二次曲线,并找出最大值位置(找出两曲线的最大差值点)
- 浅谈Flutter跨平台调用方式MethodChannel
- charger在充电达到75%停止充电
- WTK运行报出Create process failed”错误
- Kindle PaperWhite 3
- 二级mysql真题_计算机二级MySQL数据库真题
- 工厂生产现场怎样制定6s管理制度?
- Ubuntu18.04安装cuda+ [ERROR]: Install of driver component failed.的解决