Android培训课程-IO流浅析

上传人:无*** 文档编号:136949397 上传时间:2022-08-17 格式:DOCX 页数:6 大小:72.70KB
返回 下载 相关 举报
Android培训课程-IO流浅析_第1页
第1页 / 共6页
Android培训课程-IO流浅析_第2页
第2页 / 共6页
Android培训课程-IO流浅析_第3页
第3页 / 共6页
点击查看更多>>
资源描述
IO概念和种类:1 什么是IO流?2 流的作用和原理?IO流:就是一条连接内存和磁盘的通路(管道)。源:内存,磁盘目的地:内存,磁盘xxx流的作用和原理:见图【流的作用和原理.bmp】无论是输入流还是输出流,都是相对于“内存”而言的!=主题:3 IO流的种类:3.1输入流、输出流3.2字符流、字节流3.3节点流、处理流IO流的种类:根据流向来分: 输入流(字节输入流InputStream,字符输入流Reader):连接磁盘上的文件到内存的一条通路(管道)。方向:磁盘 -内存 输出流(字节输出流OutputStream,字符输出流Writer):连接内存到磁盘上文件的一条通路(管道)。方向:内存-磁盘根据管道中数据的粒度来划分 字节流:管道中的数据以字节为单位流动。InputStream(字节输入流),OutputStream(字节输出流) 字符流:管道中的数据以字符为单位流动。Reader(字符输入流),Writer(字符输出流)根据流是否与磁盘上具体的存储介质进行交互 节点流:直接与磁盘上的文件进行数据的交互。如:FileInputStream(文件字节输入流),FileOutputStream(文件字节输出流)FileReader(文件字符输入流),FileWriter(文件字符输出流) 处理流:不直接与磁盘上的文件进行数据的交互,而是间接进行交互。 如:BufferedInputStream(带缓存的字节输入流) BufferedOutputStream(带缓存的字节输出流) BufferedReader(缓冲字符输入流) BufferedWriter(缓冲字符输出流)=主题:4字节输入流:4.1InputStream类的常用方法4.2InputStream类的子类:文件输入流FileInputStream4.3FileInputStream构造方法和常用方法InputStream类的常用方法:int available() :返回该流中所有数据的长度。(字节数)void close():关闭流(释放资源,垃圾回收器不管io流) boolean markSupported() :判断流是否支持mark和reset方法void mark(int readlimit) :在流中根据参数指定的位置(字节数)添加一个标记。void reset() :让流中已经流出的数据重新复原到标记处。(达到一个效果:覆水可收)abstract int read() :从流中读取一个字节。int read(byte b) :将流中的数据读取到参数指定的字节数组中。(使用饭碗接水龙头流出来的水)int read(byte b, int off, int len) :将流中的数据读取到参数指定的字节数组中,要指定填充数组的开始位置以及长度。 long skip(long n) :读取流中的数据时,跳过参数指定的字节数 练习:使用InputStream中的方法,将磁盘上的一个文件读取到内存,将文件中所有的小写字母转换成大写字母后,输出到控制台。思路:构建一条从磁盘到内存的通路(InputStream对象的构建)定义容器,用来存放每次从流中读取的数据(一个byte型的一维数组)使用循环读取流中的数据 循环体:每读取一次,就应该填充字节数组 将字节数组转换成字符串,将字符串转换成大写后输出到控制台资源释放(关闭流)/* * */package com.l000phone.iof.io.inputstream.exercise;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;/* * Description: 输入流练习 * Copyright (c) , 2016, Jansonxu * This program is protected by copyright laws. * Program Name:ReadFileToMomeryDemo.java * Date: 2016年4月6日 * * author 徐文波 * version : 1.0 */public class ReadFileToMomeryDemo /* * param args */public static void main(String args) / 需求:使用InputStream中的方法,将磁盘上的一个文件读取到内存,将文件中所有的小写字母转换成大写字母后,输出到控制台。/ 步骤:/ 构建一条从磁盘到内存的通路(InputStream对象的构建)InputStream is = null;try is = new FileInputStream(new File(src/com/l000phone/iof/io/inputstream/exercise/ReadFileToMomeryDemo.java);/ 定义容器(碗),用来存放每次从流中读取的数据(一个byte型的一维数组)byte b = new byte1024;/ 使用循环读取流中的数据int len = -1;/ 准备存储每次从流中读取的数据while (len = is.read(b) != -1) /假如:最后一次流中的数据长度是512字节/ 循环体:每读取一次,就应该填充字节数组/ 将字节数组转换成字符串,将字符串转换成大写后输出到控制台String content = new String(b,0,len);/只将字节数组中实际从流中读取到的数据转换成了String/System.out.print(content.toUpperCase();/流中的数据,包含换行,不要手动添加换行符System.out.print(content);/流中的数据,包含换行,不要手动添加换行符 catch (FileNotFoundException e) e.printStackTrace(); catch (IOException e) e.printStackTrace(); finally / 资源释放(关闭流)if(is!=null)try is.close(); catch (IOException e) e.printStackTrace();磨砺营IT教育版权所有
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!