下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、IO流总结异常父类是Throwable,处理异常的两种方案,一种try -catch 另外一种抛出熟练使用Try-catch-finally,注意: 能和try一起使用的只有catch和finally关键字Try块里面存放的是有可能发生异常的代码,通常和catch块一起使用,catch块用于处理try块中抛出的异常,finally块不是必须的,通常将释放资源(例如IO流的close方法)的代码放到finally块里面注意:finally和Final还有Finalize的区别File类注意:File类封装的路径,而不一定是一个具体的文件,File类不能用于读写文件,File类只能用来处理和文件相
2、关的操作构造方法* File(String pathname):根据一个路径得到File对象* File(String parent, String child):根据一个目录和一个子文件/目录得到File对象* File(File parent, String child):根据一个父File目录和一个子文件/目录得到File对象创建功能* public boolean mkdir():创建文件夹 如果存在这样的文件夹,就不创建了* public boolean mkdirs():创建文件夹,如果父文件夹不存在,会帮你创建出来注意:mkdir只能创建单级目录,mkdirs用于创建多级目录判断
3、功能, * public boolean isDirectory():判断是否是目录* public boolean isFile():判断是否是文件* public boolean exists():判断文件是否存在注意:判断功能返回的都是布尔类型的获取功能* public String getName():获取名称* public long length():获取长度。字节数* public File listFiles():获取指定目录下的所有文件或者文件夹对象,返回的是File数组* public File listFiles(FilenameFilter filter):注意:此方法
4、需要传入筛选文件名的接口FileNameFilter,用于过滤文件概念* Input Output流用来处理设备之间的数据传输,Java中输入输出功能是通过流来实现,把数据写入文件需要创建流对象* Java对数据的操作是通过流的方式* Java用于操作流的类都在IO包中* 流按流向分为两种:输入流,输出流。注意:读取文件都用输入流,写出文件都用输出流* 流按操作类型分为两种:* 字节流 : 字节流可以操作任何数据,因为在计算机中任何数据都是以字节的形式存储的* 字符流 : 字符流只能操作纯字符数据,比较方便。注意:IO流父类是java.io包下的抽象类,非接口! 字符流和字节流的区别在于每次读
5、取的字节数不一样,字节流读取的是单个字节,而字符流读取的是单个字符,相当于两个字节. 字节流可以用于任何文件的拷贝,而字符流只能用于拷贝文本文件,通常都用字节流做拷贝,字符流只用于在只读或者只写的情况下.字节流 |-InputStream(字节输入流,字节流的抽象父类,抽象类不能直接创建对象,必须使用子类)|-FileInputStream(文件字节输入流,就是以字节的形式读取文件内容)|-read()每次读取一个字节(byte),但是返回值类型,为int类型,防止出现文件提前结束|-read(byte b)每次读取多个字节,将内容放入字节数组b中|-BufferedInputStream(字
6、节输入缓冲流,其实就是一个包装类,创建对象时要接收一个InputStream,内部封装了一个1024*8的字节数组)|-使用BufferedInputStream就不用再定义数组了|-OutputStream(字节输出流,字节流的抽象父类)|-FileOutputStream(文件字节输出流,就是以字节的形式将内容写入到文件中)注意:创建FileOutputStream时候在构造参数里面传入true,可以实现续写功能,即添加数据到末尾.|-write(int b)一次写出一个字节|-write(byte b)将字节数组b里的内容写入到文件中|-write(byte b, int off, in
7、t len)将字节数组b里的内容,从索引为off的位置开始,总共写len个注意:字节输出流没有直接写出字符串的功能,需要将字符串转为字节数组才能输出 通过FileInputStream和FileOutputStream可以对任意类型的文件复制拷贝|-BufferedOutputStream(字节输出缓冲流,其实就是一个包装类,创建对象时要接收一个OutputStream,内部封装了一个1024*8的字节数组) 字符流|-Reader(字符输入流,字符流的抽象父类,抽象类不能直接创建对象,必须使用子类)|-FileReader(文件字符输入流,就是以字符的形式读取文本文件中的内容)|-read(
8、)每次读取一个字符,即可以按照字符大小读取,返回值类型提升为int类型|-read(char b)每次读取多个字符,将内容放入字符数组b中|-BufferedReader(字符输入缓冲流,其实就是一个包装类,注意:创建对象时要接收一个Reader,内部封装了一个1024*8的字符数组),例如传入FileReader或转换流InputStreamReader都可以|-使用BufferedReader和BufferedWriter就不用再定义数组了|-readLine()可以读取一行字符(不包含换行符号),注意:只有BufferReader才有读取一行的方法,其他流没有|-newLine()是写入
9、换行方法,根据不同系统平台可以执行相应换行操作,即可以跨平台|-LineNumberReader是BufferedReader的子类, 具有相同的功能, 并且可以统计行号|-getLineNumber()方法可以获取当前行号|-setLineNumber()方法可以设置当前行号|-Writer(字符输出流,字符流的抽象父类)|-FileWriter(文件字符输出流,就是以字符的形式将内容写入到文件中)|-write(a)/write(aaaa)可以写入单个字符或者写入字符串|-write(char b, int off, int len)将字符数组b里的内容,从所以为off的位置开始,总共写l
10、en个注意:FileInputStream和FileOutputStream用于读写字节流的 FileReader和FileWriter是用于读写字符流的字符流不能用于图片的拷贝,只能拷贝文本文件|-BufferedWriter(字符输出缓冲流,其实就是一个包装类,创建对象时要接收一个Writer,内部封装了一个1024*8的字符数组) |-newLine()可以输出一个跨平台的换行符号rn转换流(使用指定的码表读写字符)|-InputStreamReader字节输入流到字符输入流的桥梁|-OutputStreamWriter字符输出流到字节输出流的桥梁其它流|-SequenceInputSt
11、ream序列流|-序列流可以把多个字节输入流整合成一个, 从序列流中读取数据时, 将从被整合的第一个流开始读, 读完一个之后继续读第二个, 以此类推.|-SequenceInputStream(InputStream in1,InputStream in2)|-SequenceInputStream(Enumeration en)|-ByteArrayOutputStream字节数组内存输出流|-是将文件或键盘录入的数据写入到内存中的字节数组|-ByteArrayInputStream字节数组内存输入流|-是以字节的方式读取内存中的字节数组数据|-创建此对象要传递一个字节数组|-RandomA
12、ccessFile随机读写访问流|-该流同时具有读和写的功能|-seek(long pos)设置读取和写入的位置|-对象操作流|-ObjectOutputStream将对象写入到文件,要求对象所属的类实现Serializable接口,该接口里面没有内容,只是一个标记,可以给此类添加个序列号ID,也可以不加.|-writeObject()此方法将对象写到文件|-ObjectInputStream将上面存入到文件中的对象读取出来,因为存的时候所有对象是按照Object存入,所以取出来要进行强制类型转换注意:写出的对象需要实现序列化接口,即Serializable接口,否则报错|-readObjec
13、t()可以从文件读取对象出来|-数据输入输出流|-DataInputStream数据输入流,就是从文件读取特定类型的数据|-readInt()从文件中读取一个int类型的数据|-readLong()从文件读取一个long类型的数据|-DataOutputStream数据输出流,向文件写出特定类型的数据|-writeInt()向文件写入一个int类型的数据|-writeLong()向文件写入一个long类型的数据|-打印流PrintStream注意:PrintWriter,只操作数据目的,不操作数据源,Println可以自动刷新,是Writer的子类|-标准输入输出流|-System.in是In
14、putStream, 标准输入流, 默认可以从键盘输入读取字节数据|-System.setIn(InputStream)修改输入流|-System.out是PrintStream, 标准输出流, 默认可以向Console中输出字符和字节数据|-System.setOut(PrintStream)修改输出流|-键盘录入的两种方式|-Scanner sc = new Scanner(System.in);|-BufferedReader br = new BufferedReader(new InputStreamReader(System.in);|-Properties是Hashtable的子类,是一个Map,存放的是键值对,一般用于项目的配置文件,配置文件中键和值的类型都为String类型|-setProperty(String key,String value)向Properties中存入键值对|-getProperty(String key)根据键获取值|-public Enumeration stringPropertyNames()以String的形式获取所有的键,并封装成Enumeration对象,之后进行遍历|-load(InputStream inStream) 将字节输入流inStream所关联
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 糖尿病整合医疗中的国际经验借鉴
- 糖尿病患者职业健康教育的精准化策略
- 糖尿病患者的家庭健康教育模式推广方案设计方法研究
- 糖尿病对微创手术POCD的加重作用
- 糖尿病围手术期血糖管理中的个体化方案
- 2026年甘肃省酒泉市体育中心招聘备考题库及答案详解(夺冠系列)
- 2025广东中山市三鑫凯茵学校教师招聘17人备考题库及参考答案详解
- 2026广东深圳市宝安区翻身实验学校(西校区)诚聘高中历史教师1人备考题库及答案详解(新)
- 2026广东东莞中学洪梅学校招聘在编教师7名备考题库(含答案详解)
- 2026上海复旦大学附属中山医院佘山院区招聘备考题库及一套答案详解
- 公共视频监控系统运营维护要求
- 教育科学规划课题中期报告 (双减背景下家校共育策略研究)
- 河南省职工养老保险参保人员关键信息变更核准表
- 四川大学宣传介绍PPT
- 小学数学人教版六年级上册全册电子教案
- 液氨储罐区风险评估与安全设计
- 阿司匹林在一级预防中应用回顾
- 2023年福海县政务中心综合窗口人员招聘笔试模拟试题及答案解析
- GB/T 4103.10-2000铅及铅合金化学分析方法银量的测定
- GB/T 25129-2010制冷用空气冷却器
- DB37-T 1854-2020 山东省化工装置安全试车工作规范-(高清版)
评论
0/150
提交评论