Java编程新手入门基础学习之读写操作

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

给你学习路线:html-css-js-jq-javase-数据库-jsp-servlet-Struts2-hibernate-mybatis-spring4-springmvc-ssh-ssm

Java 读写操作

IO类图

小编推荐一个学Java的学习裙【 六五零,五五四,六零七 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

1). java读写文件的IO流分两大类,字节流和字符流,基类分别是字符:Reader和Writer;字节:InputStream和OutPutStream。

2). 字符流分为FileReader和FileWrtier,这两个的父类是InputStreamReader和OutStreamWrtier。

3). 字节流分为FileInputStream和FileOutPutStream。

4). 这几个类之间的关系网是:

Reader->InputStreamReader->FileReader

Reader->BufferedReader

InputStream->FileInputStream

InputStream->FilterInputStream->BufferedInputStream

InputStreamReader, 它是字节转换为字符的桥梁

字节流字符流区别

1).字节流也称为原始数据,需要用户读入后进行相应的编码转换。而字符流的

实现是基于自动转换的,读取数据时会把数据按照JVM的默认编码自动转换成字

符。

2).字符流处理的单元为2个字节的Unicode字符,分别操作字符、字符数组或字

符串,而字节流处理单元为1个字节,操作字节和字节数组。

所以字符流是由Java虚拟机将字节转化为2个字节的Unicode字符为单位的字符而

成的。

3).字节流可用于任何类型的对象,包括二进制对象,而字符流只能处理字符或

者字符串,字节流提供了处理任何类型的IO操作的功能,但它不能直接处理

Unicode字符,而字符流就可以;

因此:音频文件、图片、歌曲,就用字节流好点;如果是中文(文本)的,用字符流更

好。

小编推荐一个学Java的学习裙【 六五零,五五四,六零七 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

按行操作

在FileReader中的方法都是从InputStreamReader中继承过来的。read()方法是比较好费时间的,如果为了提高效率我们可以使用BufferedReader对Reader进行包装,这样可以提高读取得速度,我们可以一行一行的读取文本,使用readLine()方法。

BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("test.txt")));

流的程序步骤

1).创建文件对象 File file = new File("xxx.txt");

2).用流装载文件 FileReader fr = new FileReader(file);

3).如果用缓冲区,则用缓冲区装载流,用缓冲区是为了提高读写性能

BufferReader br = new BufferReader(fr);

4).开始读写操作 String s = null; StringBuffer sb = new StringBuffer();

while((s=br.readLine()!=null) { sb.append(s); } 如果遇到字节流要转换成

字符流,则在缓冲区前加一步 InputStreamReader isr = new

InpuStreamReader(InputStream in); 或者需要编码转换的,则在缓冲区前加一

步 InputStreamReader isr = new InpuStreamReader(InputStream in,Charset cs);

5). 关闭流操作,先开的流后关闭。

实例操作

1)以字节流读写文件,如:音频、图片等

2). 以字符读取文件,以行读写文件

小编推荐一个学Java的学习裙【 六五零,五五四,六零七 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

每天学习一点,每天进步一点。欢迎关注。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 概述 java.io 包几乎包含了所有操作输入、输出需要的类。所有这些流类代表了输入源和输出目标。java.io ...
    Steven1997阅读 13,037评论 1 25
  • tags:io categories:总结 date: 2017-03-28 22:49:50 不仅仅在JAVA领...
    行径行阅读 6,593评论 0 3
  • 概述: 1、IO流:即Input Output的缩写。 2、特点:1)IO流用来处理设备间的数据传输。2)Java...
    玉圣阅读 5,010评论 0 3
  • 今日天气 文静 风骤起,土卷扬, 击打花容无商量, 疑是二郎虐仙裳。 云翳翳,地苍苍, 瞠目天籁耍猖狂, ...
    文静_5c0c阅读 1,270评论 0 2

友情链接更多精彩内容