700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > java IO(二)—— 字符输入输出流

java IO(二)—— 字符输入输出流

时间:2023-08-26 17:03:01

相关推荐

java IO(二)—— 字符输入输出流

javo. io. Reader:字符输入流

是字符输入流的最顶层的父类,定义了-些共性的成员方法,是一个抽象类

共性的成员方法:

int read() 读取单个字符并返回。int read(char[] cbuf)- 次读取多个字符,将字符读入数组。void close() 关闭该流并释放与之关联的所有资源。

java. io. FileReader extends InputStreamReader extends Reader

FileReader:文件字符输入流

作用:把硬盘文件中的数据以字符的方式读取到内存中

构造方法:

FileReader(Stritg fileName)FileReader(File file)

参数:读取文件的数据源

FileReader构造方法的作用:

1.创建一个FileReader对象

2.会把FileReader对象指向要读取的文件

demo

java. io. Writer :字符输出流

是所有字符输出流的最顶层的父类,是一个抽象类

共性的成员方法:

void write(int c)写入单个字符。

void write(char[] cbuf)写入字符数组。

abstract void write(charfj cbuf, int off, int len)写入字符数组的某一部分, off数组的开始索引, len写的字符个数。

void write(String str)写入字符串。

void write(String str, int off, int len) 写入字符串的某一部分, off字符串的开始索引, len写的字符个数。

void flush()刷新该流的缓冲。

void close() 关闭此流,但要先刷新它。

java. io. FileWriter extends OutputStreamwriter extends Writer

Filewriter:文件字符输出流作用:把内存中字符数据写入到文件中

Filewriter构造方法:

Filewriter(File file)根据给定的File 对象构造一个FileWriter 对象。

FileWriter(string fileName) 根据给定的文件名构造一-个Filewriter 对象。

参数:写入数据的目的地

String fileName :文件的路径File file:是-一个文件

构造方法的作用:

会创建一个FileWriter对象会根据构造方法中传递的文件文件的路径,创建文件会把FileWriter对象指向创建好的文件

字符输出流的使用步骤(重点):

1.创建Filelwriter对象,构造方法中绑定要写入数据的目的地

2.使用Filewriter中的方法write,把数据写入到内存缓冲区中(字符转换为字节的过程)

3.使用Filewriter中的方法flush,把内存缓冲区中的数据,刷新到文件中

4.释放资源(会先把内存缓冲区中的数据刷新到文件中)

demo

flush方法和close方法的区别

flush :刷新缓冲区,流对象可以继续使用。close: 先刷新缓冲区,然后通知系统释放资源。流对象不可以再被使用了。

续写和换行

续写,追加写:使用两个参数的构造方法

Filewriter(String fileName, boolean append)

FileWriter(File file, boolean append)

参数:

String fileName,File file:写入数据的目的地

boolean append:续写开关true:不会创建新的文件覆盖源文件,可以续写; false :创建新的文件覆盖源文件

用try catch处理流中的异常

JDK7的新特性

在try的后边可以增加一个(),在括号中可以定义流对象

那么这个流对象的作用域就在try中有效

try中的代码执行完毕,会自动把流对象释放,不用写finally

格式:

try(定义流对象;定义流对象…){

可能会产出异常的代码

}catch(异常类变量变量名){

异常的处理逻辑

}

完毕,会自动把流对象释放,不用写finally

格式:

try(定义流对象;定义流对象…){

可能会产出异常的代码

}catch(异常类变量变量名){

异常的处理逻辑

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。