清华大学Javal课件_第1页
清华大学Javal课件_第2页
清华大学Javal课件_第3页
清华大学Javal课件_第4页
清华大学Javal课件_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

I/O流标准输入输出输入输出行言输入输出I/O软件层设备驱动程序设备驱动程序设备驱动程序设备驱动程序设备驱动程序OS独立于设备的I/O层java.io提供I/O层(类层)应用程序应用程序应用程序java.io的核心文件(File类)各种文件系统提供的基本服务一样,但实现细节互不兼容。解决java程序与文件系统的沟通。流—线性的顺序的输入输出数据流读输入流写输出流I/O流类File类构造函数path)封装文件例(使用相对路径,移植性较好)Filef1=newFile(“mydir\\my”);封装目录例(使用绝对路径)Filef2=newFile(“d:\\mydir\\dir1”);

parent,Stringchild)=newFile(“d:\\d1”,“a.java”)dir,Stringname)Filef4=new,”my”);win\\unix/File类方法—获取文件属性判断目标是否存在publicbooleanexists()判断是文件还是目录publicbooleanisFile();publicbooleanisDirectory();获取文件名称或整个路径publicStringgetName()仅返回文件名publicStringgetPath()返回整个路径字符串获取文件长度publiclonglength()获取文件读写属性publicbooleancanRead()publicbooleancanWrite()列出目录中的文件

publicString[]list()publicFile[]listFiles()File类方法—文件/目录操作重命名publicbooleanrenameTo()删除文件或目录publicbooleandelete();创建目录publicbooleanmkdir()创建目录及父目录(如果需要的话)publicbooleanmkdirs()创建临时文件publicstaticFilecreateTempFile(文件名,后缀)throwsIOExceptiondeleteOnExit()1、2文件I/O类:RandomAccessFile指针操作longget()返回相对于文件头的位移量单位:字节该位置即下一个读写操作的位置。voidseek(longpos)移动指针(位移单位:字节)intskipBytes(intn)移动指针关闭文件close()取文件长度length()文件I/O类:RandomAccessFile写文件writeInt(intv)写整型数4个字节,高字节在前writeBoolean(booleanv)一个字节,0或1writeUTF(Stringstr)写一字符串,前两个字节标明字符串字节长度文件I/O类:RandomAccessFile读文件bytereadByte()读一字节charreadChar()读一字符(Unicode码2个字节)doublereadDouble()读双精度数(8个字节)StringreadUTF()读一个字符串。readLine()读一行文本(对每一个字节,配上一个置0高字节,构成一个双字节字符。不支持Unicode码3方法测试4学生信息InputStream输入流管理字节(适于读取面向字节的数据)是所有表示输入字节流类的父类(抽象类)三个基本方法:abstractintread()从输入流中读下一个字节。intread(byte[]

b)从输入流中读若干个字节到数组中。intread(byte[]b,intoff,intlen)从输入流中读len个字节到数组中。off是写入数组的位置(位移)。InputStream输入流skip(long

n)跳过n个字节。booleanmarkSupported()流是否支持mark功能mark(int

readlimit)在当前位置做标记.reset()回到最近一次做的标记处。close()关闭输入流,释放与此输入流相连的系统资源。ByteArrayInputStream(byte数组)(文件路径名

或File对象)ObjectInputStream(Inputstreamin)PipedInputStream(PipedOutputStreampipe)SequenceInputStream表示其他输入串的逻辑连接FilterInputStream(其他输入流)定义了子类对流的进一步处理功能。BufferedInputStream(InputStream

in)DataInputStream(InputStream

in)各种数据读入InputStream输入流的子类这些子类的构造函数都可以用某种方式指定其数据源。加强输入流,对InputStream类进行功能扩充OutputStream输出流子类(File类对象或文件名),ByteArrayOutputStream()

数据被写到无名字节数组,该字节数组内容可利用toByteArray()和toString()分别取到指定字节数组和字符串中。PipedOutputStream(PipedInputStreampipe)ObjectOutputStreamFilterOutputStream

DataOutputStream(OutputStream

out)包含输出各种数据类型数据的方法,如writeFloat()

PrintStream(OutputStreamout)包含输出各种数据类型数据的方法,如print(),println。但没有对应输入流两种流类nodestream对指定的地方(磁盘文件、内存等)读/写filterstream一个filter流使用node流作为输入或输出。目的地数据源基本流类—node流—infile=new(“old.dat”);outfile=new(“new.dat”);使用I/O流读写文件输出DataOutputStreamout=newDataOutputStream(new("test3"))写文件:out.writeUTF("wanghong");out.writeFloat(485.2F);输入DataInputStreamin=newDataInputStream(new("test3"));读文件:in.readUTF()in.readFloat()字符流-Reader类是所有读取字符流类的父类抽象类(面向Unicode字符操作)Java使用Unicode码表示字符和字符串。方法:booleanready()输入字符流是否可读intread()读取一个字符intread(char[]cbuf)读取一串字符(到字符数组)longskip(long

n)跳过n个字符mark(int

readAheadLimit)在当前位置做一标记reset()将读取位置恢复到标记处close()关闭字符流Reader类子类CharArrayReader(char[]buf)PipedReader(PipedWriter)StringReader(String

s)BufferedReader(Readerin)提供有效读的方法,如:readLine字节流字符流读字符InputStreamReader(InputStreamin)(File对象或文件名)Writer类的子类CharArrayWriter()toCharArray()andtoString().

StringWriter()方法toString

PipedWriter(PipedReader)BufferedWriter(Writeout)提高I/O效率方法:write(…)写字符或字符串PrintWriter(OutputStream类或Writer类对象)方法:printprintln实现各种类型数据的输出字节流字符流写字符OutputStreamWriter(OutputStreamout)(File对象或文件名)文件读写(文本)输入BufferedReaderfin=newBufferedReader(new("test.txt"));读文件fin.readln()输出PrintWriterfout=newPrintWriter(new("test.txt"),true));或:PrintWriterfout=newPrintWriter(newBufferedWriter(new(“test.txt")));写文件fout.println(…)flush()close()输入输出流例-对象流ostream=new("t.tmp");ObjectOutputStreamp=newObjectOutputStream(ostream);p.writeInt(12345);p.writeObject("Today");p.writeObject(newDate());p.flush();ostream.close();输入输出流例-对象流istream=new("t.tmp");ObjectInputStreamp=newObjectInputStream(istream);inti=p.readInt();Stringtoday=(String)p.readObject();Datedate=(Date)p.readObject();istream.close();6管道与流标准输入/输出改道—标准输入/输出(><)管道—将一个程序的标准输出作为另一个程序的标准输入(|)sort对输入数据排序,然后输出more分页显示dir|

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论