- 1
- 0
- 约1.64万字
- 约 18页
- 2017-06-11 发布于北京
- 举报
IO流之字节流和字符流详解
IO(Input output)流,分为两种:字节流和字符流
字节流的两个基类:
InputStream(读)OutStream(写)
字符流的两个基类:
Reader(读) Writer(写)
字符流
写(FileWriter)和读(FileReader)
写(FileWriter)
我们知道既然IO流是用于操作数据的,那么数据的最常见的体现形式是:文件
我们使用一个操作文件的Writer子类是FileWriter。我们要查Writer API时注意:后缀名是父类名,前缀名是是该流对象的功能。
我们来首先来看看Writer基类的几种常用方法:
a) public void write(String str) throws IOException: 写入字符串
b) public abstract void flush()throws IOException:刷新该流的缓冲
c) public abstract void close()throws IOException:关闭该流,但先刷新
对于如何创建一个字符Writer流,我们来详细看看如下代码:
import java.io.*;
class FileWriterDemo
{
public static void main(String[] args) throws IOException
{
//创建一个FileWriter对象,
//该对象一旦被创建就必须明确要被操作的文件
//而且该文件会被创建到指定目录下
//如果该目录下已有同名文件,将被覆盖
//其实改不就是在明确数据要存放的目的地
FileWriter fw=new FileWriter(demo.txt);
//调用write方法,将字符串写入到流中
fw.write(abcde);
//刷新流对象中的缓冲中数据
//将数据刷到目的地中,即将数据保存到目的地
//fw.flush();
//关闭流资源,但是关闭之前会刷新一次内部的缓冲中的数据
//将数据刷到目的地中
//和flush区别:flush刷新后,流可以继续使用,close刷新后,流会关闭
fw.close();
}
}
IO异常(IOException)的处理方式:我们对与Io出现的异常不能抛,我们要自己解决,我们如何去处理一个IO异常呢?我们用代码演示一遍:
import java.io.*;
class IOExceptionDemo
{
public static void main(String[] args)
{
//我们首先创建类型的变量并作用于整个域
FileWriter fw=null;
try{
fw=new FileWriter(k://demo.txt);
fw.write(xixi);
}catch(IOException e){
//此处是对异常的处理
System.out.println(catch:+e);
}finally{
try{
//我们要首先判断对象是否为空,
//此处对象异常不能让用户看到
if(fw!=null)
//close方法必须要单独try,且放在Finally语句中
fw.close();
}catch(IOException e){
}
}
}
}
我们如何对数据进行续写?我们就要使用到FileWriter的另一个构造方法。
FileWriter(String fileName, boolean append):根据给定的文件名以及指示是否附加写入数据的 boolean 值来构造 FileWriter 对象。
创建的时候即new FileWriter(“数据目的地”,“true”);
读(FileReader)
Reader有哪些常用的方法:
a) public int read()throws IOException:读取单个字符
b) public int read(char[] cbuf) throws IOException:将字符读入数组。
c) public abstract void close()throws IOException:关闭该流并释放与之关联的所有资源,此处没有刷新。
IO中Reader有两种方式读取:
第一种:使用第一种read方法读取单个字符
import java.io.*;
class ReaderDemo
{
public static void ma
您可能关注的文档
最近下载
- JBL Bar Studio影霸系列说明书.pdf VIP
- 一汽解放J6重卡汽车维修手册.pdf VIP
- 第六次全国幽门螺杆菌诊治共识.pptx VIP
- 基于年龄结构的乙肝流行病模型构建与稳定性的深度剖析.docx
- 数学六年级上册口算脱式计算解方程应用题每日一练(共30天).docx VIP
- 第9课《学会倾听》教案-2025-2026学年第二学期三年级道德与法治统编版下册.docx
- 五年级下册英语教案-Module 1 Unit 1|外研社(三起).docx VIP
- 基于Python的南京二手房数据可视化分析的设计与实现.docx VIP
- 初中英语综合时态练习13352.doc VIP
- 钉钉杯大数据挑战赛银行卡电信诈骗危险预测.pdf VIP
原创力文档

文档评论(0)