版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《Java程序设计》Java简介本讲目标字符流的定义和基本用法字符输入流字符输出流字符流的定义和基本用法字符流主要用于处理文本数据的输入和输出。在Java中,字符流通过Reader类和Writer类实现,这两个类都是抽象类。Reader类用于从输入源读取字符数据,而Writer类用于将字符数据写入输出目标。字符输入流及常用方法字符输入流的常用方法方法功能描述intread()从输入流中读取一个字符并返回该字符的Unicode值,如果已经读到流的末尾,则返回-1intread(char[]cbuf)从输入流中读取字符,将它们存储到cbuf字符数组中,并返回实际读取的字符数intread(char[]cbuf,intoff,intlen)从输入流中读取len个字符,将它们存储到cbuf字符数组中从off位置开始存储,并返回实际读取的字符数StringreadLine()从输入流中读取一行文本内容,以字符串形式返回。如果已经到达输入流的末尾,则返回
nullvoidreset()将流重置到最后一次标记的位置voidclose()关闭流并释放与之关联的资源Java中常用的字符输入流有Reader类和其子类FileReader、InputStreamReader、BufferedReader等。FileReader类用于从文件中读取字符数据,InputStreamReader类用于将字节输入流转换为字符输入流,BufferedReader类提供了缓冲功能,可以高效地读取字符数据。字符输入流读取文件1.
System.out.println("\n——第1种:不使用缓冲,一个一个字符读取:");
2.
FileReader
fileReader1
=
null;3.
try
{4.
fileReader1
=
new
FileReader(filePath);5.
int
data;
//
read()方法返回int型数据(字符对应的Unicode值)6.
while
((data
=
fileReader1.read())
!=
-1)
{
//读到末尾返回-17.
System.out.print((char)
data);
//使用强制类型转换回字符型8.
}9.
}
catch
(IOException
e)
{10.
e.printStackTrace();11.
}
finally
{12.
try
{
//使用异常处理机制释放资源
13.
if
(fileReader1
!=
null)
{14.
fileReader1.close();15.
}16.
………………
第1种方法:逐个字符读取,它不使用缓冲,逐个字符地读取文件内容。字符输入流读取文件第2种方法:使用数组读取文件内容,可以一次读取多行。1.
System.out.println("\n——第2种:使用数组,一行一行读取:");
2.
try
(FileReader
fileReader2
=
new
FileReader(filePath))
{3.
char[]
buffer
=
new
char[1024];
//声明数组4.
int
charsRead;5.
while((charsRead
=
fileReader2.read(buffer,0,buffer.length))!=-1)
{6.
System.out.print(new
String(buffer,
0,
charsRead));7.
}8.
}
catch
(IOException
e)
{9.
e.printStackTrace();10.
}字符输入流读取文件第3种方法:使用缓冲读取,可以高效地逐行读取文件内容。1.
System.out.println("\n——第3种:使用缓冲,一行一行读取:");
2.
try
(FileReader
fileReader3
=
new
FileReader(filePath);3.
BufferedReader
bufferedReader
=
new
BufferedReader(fileReader3))
{4.
String
line;5.
while
((line
=
bufferedReader.readLine())
!=
null)
{6.
System.out.println(line);7.
}8.
}
catch
(IOException
e)
{9.
e.printStackTrace();10.
}运行结果如图字符输出流及常用方法字符输出流的常用方法方法功能描述voidwrite(intc)将单个字符写入输出流voidwrite(char[]obuf)将字符数组obuf中的字符写入输出流voidwrite(char[]obuf,intoff,intlen)将字符数组obuf中从off位置开始的len个字符写入输出流voidwrite(Stringstr)将字符串str写入输出流voidwrite(Stringstr,intoff,intlen)将字符串str中从off位置开始的len个字符写入输出流voidflush()刷新输出流,将缓冲区中的数据立即写入到目标设备或文件中
字符输出流用于将字符数据写入到外部设备或输出源。Java中常用的字符输出流有Writer类及其子类FileWriter、OutputStreamWriter、BufferedWriter等。FileWriter类用于向文件中写入字符数据,OutputStreamWriter类将字符输出流转换为字节输出流,BufferedWriter类提供了缓冲功能,可以高效地写入字符数据。字符输入流读取文件字符输出流来写入文本文件的内容。以下案例将展示两种不同的写入方法。1.
import
java.io.BufferedWriter;2.
import
java.io.FileWriter;3.
import
java.io.Writer;4.
public
class
Demo8_6
{5.
public
static
void
main(String[]
args)
{6.
System.out.println("1.写入文件");7.
writerData();
//调用writerData()方法8.
System.out.println("2.使用缓冲写入文件");9.
byBufferedWriter();
//调用byBufferedWriter()方法10.
}
程序运行结果如图:字符输入流读取文件12.
private
static
void
writerData()
{13.
try(Writer
writer
=
new
FileWriter("src/exception/file1.txt")){14.
writer.write("我是中国人");15.
}
catch
(Exception
e)
{16.
e.printStackTrace();17.
}18.
}19.
//使用BufferedWriter类减少I/O操作的次数以提高效率20.
private
static
void
byBufferedWriter()
{21.
try
(Writer
writer
=
new
FileWriter("src/exception/file2.txt");22.
BufferedWriter
bufferedWriter
=
new
BufferedWriter(writer))
{23.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数字化转型下L公司供应管理系统的优化与重塑
- 数字化赋能:河北高速征费考核管理系统的深度设计与实践
- 入党培训个人思想总结报告(2篇)
- Axure网站与App原型设计(全彩慕课版)(AxureRP10)- 教案 第7、8章 用Axure链接动作制作交互效果、用Axure元件行为制作交互效果
- 数字化浪潮下我国公募基金公司网络营销策略的创新与变革
- 数字化浪潮下国际贸易客户管理信息系统的深度设计与实践
- 数字化浪潮下W软件公司人才招聘困境与突破策略研究
- 探究“营改增”对建筑施工企业的影响及其对策
- 2025 奇妙的声音共鸣特性实验作文课件
- 2025年前台问询礼仪测试卷
- 社会责任培训精
- 部编版语文二年级下册第2单元核心素养教案
- 9F级立式余热锅炉模块吊装工法
- 《卢氏字辈总汇》
- 第三单元名著导读《经典常谈》课件-部编版语文八年级下册
- (完整)WORD-版本核心高考高频688词汇(高考高频词汇)
- MCS-51单片机技术项目驱动教程C语言第二版牛军课后参考答案
- 2018年河北公务员行测考试真题(含答案)
- 外科病人的代谢与营养治疗第八版
- GB/T 700-2006碳素结构钢
- 大型工业园区规划方案
评论
0/150
提交评论