




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
来自:亿淘城_减肥榜 的个人笔记谢谢你的支持(*_*) 嘻嘻Java I/O原理基本概念: I/O(Input/Output) 数据源(Data Source) 数据宿(Data Sink)Java中把不同的数据源与程序间的数据传输都抽象表述为“流”(Stream),java.io包中定义了多种I/O流类型实现数据I/O功能。I/O流分类: 输入流(Input Stream)和输出流(Output Stream) 节点流(Node Stream)和处理流(Processing Stream) 字符流(Character Stream)和字节流(Byte Stream) 输入流(Input Stream)和输出流(Output Stream)1.输入流只能从中读取数据,而不能向其写数据;2.输出流则只能向其写出数据,而不能从中读取数据;3.特例:java.io.RandomAccessFile类。 节点流(Node Stream)和处理流(Processing Stream)1.节点流直接连接到数据源2.处理流是对一个已存在的流的连接和封装,通过所封装的刘的功能调用实现增强的数据读写功能,处理流并不直接连到数据源 字符流(Character Stream)和字节流(Byte Stream)1.字节流以字节为单位进行数据传输,每次传送一个或多个字节。2.字符流以字符为单位进行数据传输,每次传送一个或多个字符。 Java命名惯例:凡是以InputStream 或OutputStream结尾的类型均为字节流,凡是以Reader或Writer 结尾的均为字符流。InputStream抽象类java.io.InputStream 是所有字节输入流类型的父类,该类中定义了以字节为单位读取数据的基本方法,并在其子类中进行了分化和实现。 三个基本的 read方法:Int read()Int read(byte buffer)Int read(byte buffer,int offset,int length) 其它方法:Void close()Int available()Skip(long n)Boolean markSupported()Void mark(int readlimit)Void reset()InputStreamFileInputStreamObjectInputStreamPipedInputStreamStringBufferInputStreamFilterInputStreamSequenceInputStreamDataInputStreamByteArrayInputStreamPushbackInputStreamBufferedInputStreamLineNumberInputStreamOnputStreamJava.io.OutputStream与java.io.InputStream对应,是所有字节输出流类型的抽象父类。 三个基本的 write方法:Int write ()Int write (byte buffer)Int write (byte buffer,int offset,int length) 其它方法:Void close()OutputStreamFileOutputStreamObjectOutputStreamPipedOutputStreamFilterOutputStreamDataOutputStreamByteArrayOutputStreamPrintStreamBufferedOutputStreamVoid flush() Reader抽象类java.io.Reader是所有字符输入流类型的父类,其中声明了用于读取字符流的有关方法。 三个基本的 read方法:Int read()Int read(byte buffer)Int read(byte buffer,int offset,int length) 其它方法:Void close()Int available()Skip(long n)Boolean markSupported()Void mark(int readlimit)Void reset()Writer抽象类java.io.Writer是所有字符输出流类型的父类。 五个基本的 write方法:Void write (int c)Void write (char buffer)Void write (char buffer,int offset,int length)Void write(String string)Void write(String stirng ,int offset,int length) 其它方法:Void close()Void flush()常用的I/O流类型(1)FileInputSteam/FileOutputSteam FileInputStream用于读取本地文件中字节数据。 FileOutputStream用于将字节数据写出到文件。FileReader/FileWriter FileReader用于以字符为单位读取文本文件。 FileWriter用于将字符数据写出到文本文件中。BufferedReader/BufferedWriterBufferedReader用于缓冲读取字符。BufferedWriter则提供字符的缓冲写出功能。 常用的I/O流类型(2)InputStreamReader1InputStreamReader可封装字节输入流并从中读取字节数据,然后将之转换为字符。2转换时所使用的字符编码可以再构造方法中显示指定,也可以使用平台的默认字符编码。其构造方法格式为:Public InputStreamReader(InputStream in)Public InputStreamReader(InputStream in,String enc)OutputStreamWriter与InputStreamReader对应,OutputStreamWriter可按照特定的字符编码规则吧字符转化为字节写出到她所封装的字节输出流。 常用的I/O流类型(3)PrintStreamPrintStream在OutputSteam基础之上提供了增强的功能,即可以方便的输出各种类型数据(而不仅限于byte型)的格式化表示形式。PrintSteam 的方法从不抛出IOException.PrintWriterPrintWriter提供了PrintStream的所有的打印方法,其方法也从不抛出IOException.与PrintSteam的区别:作为处理流使用时,PrintStream只能封装OutputStream类型的字节流,而PrintWriter既可以封装OutputStream,还能够封装Writer类型字符输出流并增强器功能。 常用的I/O流类型(4)DataInputStream/DataOutputStream1. 二者分别实现了DataInput/DataOutput接口2. DataInputStream能够以一种与机器无关的方式,直接从底层字节输入流读取Java基本类型和String类型的数据,常用方法包括:Public DataInputStream(InputSteam in)Public final boolean readBoolean()Public final byte readByte()Public final char readChar()Public final double readDouble()Public final float readFloat()Public final int readLong()Public final long readLong()Public final short readShort()Public final String readUTF()3. DataOutputSteam 则能够直接将Java基本类型和String类型数据写出到其他的字节输出流。 常用的I/O流类型(5)CharArrayReaderCharArrayReader实现了一个可用作字符输入流的字符缓冲区。CharArrayWriterCharArrayWriter实现了一个可当作Writer使用的字符输出缓冲区。I/O应用专题标准I/O重定向(标 准输入重定向)import java.io.*r;import java.util.*; public class SetInput public static void main(String args) try FileInputStream fis=new FileInputStream (source.txt);System.setIn(fis);int avg=0;int total=0;int num=0;int i;BufferedReader br=new BufferedReader(new InputStreamReader(System.in);String s=br.readLine();while(s!=null)&(!s.equals()&(!s.equals(over)i=Integer.parseInt(s);num+;total+=i;avg=total/num;System.out.println(num=+num+ttotal=+total+tavg=+avg);s=br.readLine();catch(Exception e)System.err.println(time error:+new Date();System.err.println(info:);e.printStackTrace(System.err); (标 准输出重定向)public class SetOutput public static void main(String args) PrintStream ps=null;PrintStream ps_error=null;try ps=new PrintStream(new FileOutputStream(output.txt,true);System.setOut(ps);ps_error=new PrintStream(new FileOutputStream(errorLog.txt,true);System.setErr(ps_error);int avg=0;int total=0;int num=0;int i;BufferedReader br=new BufferedReader(new InputStreamReader(System.in);String s=br.readLine();while(s!=null)&(!s.equals(over)i=Integer.parseInt(s);num+;total+=i;avg=total/num;System.out.println(num=+num+ttotal=+total+tavg=+avg);s=br.readLine();catch(Exception e)System.err.println(time error:+new Date();System.err.println(info:);e.printStackTrace(System.err);finallytry ps.close();ps_error.close(); catch (Exception e) System.err.println(time error:+new Date();System.err.println(info:);e.printStackTrace(System.err); 属性信息导入/导出(属性信息导入)import java.io.*;import java.util.Properties; public class SaveProperty public static void main(String args) try Properties pro=new Properties();/Properties pro=System.getProperties();pro.setProperty(name, Scott);pro.setProperty(password, Tiger);pro.setProperty(sex, female);FileOutputStream fw=new FileOutputStream(props.txt);pro.store(fw, loginfo);fw.close(); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace(); (属性信息导出)import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.util.Properties;public class LoadProperty public static void main(String args) try Properties ps=new Properties();FileInputStream fr=new FileInputStream(props.txt);ps.load(fr);fr.close();ps.list(System.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浙江省(温州)2026届九年级英语第一学期期末质量检测模拟试题含解析
- 新人培训计划
- 2026届内蒙古自治区兴安盟乌兰浩特市第十三中学英语九上期末预测试题含解析
- 2026届江苏省淮安市洪泽县九上化学期中达标检测模拟试题含解析
- 磁力泵转子培训
- 2026届湖南省耒阳市冠湘中学化学九上期中质量检测模拟试题含解析
- 2026届云南省保山市施甸县英语九上期末调研模拟试题含解析
- 2026届东营市重点中学九年级化学第一学期期中联考模拟试题含解析
- 学生德育工作总结
- 2026届甘肃省陇南市徽县九年级化学第一学期期中监测试题含解析
- 光伏发电工程竣工最终验收报告
- 2025-2030中国篮球运动鞋行业市场发展趋势与前景展望战略研究报告
- 发改价格〔2007〕670号建设工程监理与相关服务收费标准
- 2025年小学生科普知识竞赛练习题库及答案(200题)
- 传媒行业创新案例小红书
- 《美妆类电商产品销量影响因素实证研究13000字(论文)》
- T-JSQX 0016-2024 无人驾驶配送装备通.用技术要求
- 科技前沿下的生物医药研发实验室创新研究
- 《铝及铝合金》课件
- 2025年摩托车用锁行业深度研究分析报告
- 临床问诊技巧及病历书写要求(临床诊断课件)
评论
0/150
提交评论