java IO流编程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
I/O流编程
●流的概念
⏹数据从一个对象到另一个对象过程的
抽象称为(数据)流(Stream)。
⏹I/O流指输入流(InputStream)与输出
流(OutputStream)
⏹读入流(Reader)/写入流(Writer)
●File类
⏹此类只操作文件对象,而不操作文件内
容。
⏹Java中把目录当作文件来处理。
示例1: File类简单应用
⏹File类的构造:
◆File(String path,String name) 如:
◆File(String pathname)
如:
◆File(File path,String name) 如:
◆File(URI vpathname)
如:
⏹File类常用方法:
◆mkdirs()/mkdir()
◆createNewFile()/createTempFil
e()
◆isFile()/isDirectory()/isAbso
lute/canRead()/canWrite()
◆getName()/getPath()/getParent
()/getAbsolutePath()
◆setReadable()/setWritable()/s
etReadOnly()
示例2:File常用方法
示例3:列某一目录中的所有的.exe文件
●流的分类
⏹字节流
◆以字节为单位对文件内容进行读写
操作。
◆InputStream/OutputStream
●输入字节流与输出字节流的根类
●JavaIO中的所有输入流与输出流
类都是它们子类。
◆FileInputStream/FileOutputStr
eam
●文件的输入流与输出流,只读写文
件的内容。
◆常用的方法
●read()
●write()
●available()
●flush()
●close()
示例4:将指定的字符串以字节流的形式写到指定的文件中去
示例5: 将指定的文件中的内容以字节流的形式读出并输出到控件台中
示例6:以字节流的形式封装带有Copy功能的文件操作类(MyFile)
⏹字符流
◆Reader/Writer
●输入字符流与输出字符流的根类
◆FileReader/FileWriter
●文件输入字符流与文件输出字符流
的类
◆BufferedReader/BufferedWriter
●在缓冲区中高效读写字符流
◆常用方法
●read()/readLine()
●newLine()/write()/append()
●flush()
●close()
示例7:将指定的字符串以字符流的形式写到指定的文件中去
示例8: 将指定的文件中的内容以字符流的形式读出并输出到控件台中
示例9:以字符流的形式封装带有Copy功能的文件操作类(MyFile)
⏹二进制流(字节流)
◆DataInput/DataOutput接口
◆FilterInputStream/FilterOutpu
tStream类
◆DataInputStream/DataOutputStr
eam
◆常用的方法
●read()/readChar()/readBoolean
()/readUTF()/readDouble()/rea
dFloat()/readFully()
●write()/writeChar()/writeBool
ean()/writeUTF()/writeDouble(
)/writeFloat()/writeInt()/wri
teLong()
●available()
●size()
●flush()
●close()
示例10:读/写二进制文件(user.dat)
示例11:复制二进制文件(.jpg)
⏹打印输出流(字符流)
⏹PrintStream
⏹PrintWriter
示例12:
⏹随机文件访问(字符流)
◆RandomAccessFile类
●seek()搜索位置
●length()最大的长度
●read()
●write()
●close()
示例13:
对象序列化
◆将数据排成系列进入流中。
◆将序列化的数据恢复为数据集合的
过程称为序列化的解体(读)。
◆可序列化的类都实现了
Serializable接口
◆ObjectInput/ObjectOutput接口
◆ObjectInputStream/ObjectOutpu
tStream
示例14:读写序列化的流