第八章输入与输出.ppt
《第八章输入与输出.ppt》由会员分享,可在线阅读,更多相关《第八章输入与输出.ppt(50页珍藏版)》请在三一办公上搜索。
1、第八章 输入与输出,概念Java I/O类Java I/O操作标准输入/输出文件读写操作目录管理随机访问文件,概念,数据流:一组有顺序的有起点和终点的字节集合。以流(stream)的方式对数据进行操作,I/O来源 控制台(console)打印/读入 文件(file)读/写 网络接口(TCP/UDP端口)读/写,概念,读/写流的一般流程读(Reading)open a stream/打开读出流while more information/判断 read information/读close the stream/关闭流写(Writing)open a stream/打开写入流while more
2、 information/判断 write information/写close the stream/关闭流,概念,两种流的定义(读取信息的基本数据单位)字节流(byte stream):一个字节(8-bit)一个字节读/写字符流(character stream):一个字符一个字符读/写eg“j a v a 语 言”以字节流的方式读:读8次,8个字节 以字符流的方式读:读6次,6个字符,Java I/O类,字节流的读/写操作(来自JDK1.0)java.io.InputStream(抽象类)public abstract int read()public int read(byte b)p
3、ublic int read(byte b,int offset,int length)到达流的终点,无数据读出则返回-1java.io.OutputStream(抽象类)public abstract void write(int b)public void write(byte b)public void write(byte b,int offset,int length)所有的读/写函数都抛出java.io.IOException,Java I/O类,字符流的读/写操作(来自JDK1.1)java.io.Reader(抽象类)public int read()public int re
4、ad(char cbuf)publc abstract int read(char cbuf,int offset,int length)到达流的终点,无数据读出则返回-1java.io.Writer(抽象类)public void write(int c)public void write(char cbuf)public void write(char cbuf,int offset,int length)所有的读/写函数都抛出java.io.IOException,Java I/O类,I/O流的层次关系class java.io.InputStream的子类class java.io.B
5、yteArrayInputStreamclass java.io.FileInputStreamclass java.io.FilterInputStreamclass java.io.BufferedInputStreamclass java.io.DataInputStream class java.io.LineNumberInputStreamclass java.io.PushbackInputStreamclass java.io.ObjectInputStream class java.io.PipedInputStreamclass java.io.SequenceInputS
6、treamclass java.io.StringBufferInputStream,Java I/O类,I/O流的层次关系class java.io.OutputStream的子类class java.io.ByteArrayOutputStreamclass java.io.FileOutputStreamclass java.io.FilterOutputStreamclass java.io.BufferedOutputStreamclass java.io.DataOutputStream class java.io.PrintStreamclass java.io.ObjectOu
7、tputStreamclass java.io.PipedOutputStream,Java I/O类,I/O流的层次关系class java.io.Reader的子类class java.io.BufferedReaderclass java.io.LineNumberReaderclass java.io.CharArrayReaderclass java.io.FilterReader class java.io.PushbackReaderclass java.io.InputStreamReaderclass java.io.FileReaderclass java.io.Piped
8、Readerclass java.io.StringReader,Java I/O类,I/O流的层次关系class java.io.Writer的子类class java.io.BufferedWriterclass java.io.CharArrayWriterclass java.io.FilterWriterclass java.io.OutputStreamWriter class java.io.FileWriterclass java.io.PipedWriterclass java.io.PrintWriterclass java.io.StringWriter,Java I/O
9、类,I/O流的分类(12个功能类),Java I/O类,I/O流的分类(12个功能类),Java I/O类,I/O流的分类(12个功能类),标准输入/输出,System.in System.out System.err 1 System.in.read()2 print(参数),println(参数),class Test public static void main(String args)System.out.println(“Hello World!”);import java.io.IOException;class Test public static void main(Stri
10、ng args)throws IOException byte b=new byte10;System.out.println(Received number=+System.in.read(b);,C:java TestAReceived number=3C:,【示例8-1】IOExample.Java,import Java.io.IOException;class IOExample public static void main(String args)throws IOExceptionchar a;System.out.print(Please input a char:);a=(
11、char)System.in.read();System.out.println(The char is:+a);,程序运行结果:Please input a char:(键入任意一个字符(C),回车)输出:The number is:C,8.3 常用的流类,文件管理File类,File类包含许多用于执行文件常规操作的方法。可以访问指定文件的所有属性,还可以删除,创建,更名指定的文件或目录。java.io.File类:文件和目录的路径名路径名(pathname)UNIX平台上绝对路径的前缀“/”,相对路径无前缀,例“/etc/inetd.conf”、“inetd.conf”Windows平台,
12、绝对路径名的前缀由“盘符:”组成,或共享名前缀“”,然后是主机名和共享名,相对路径名无盘符,例“c:windowsnotepad.exe”、“192.168.1.10Test.java”构造方法public File(String pathname)public File(String parent,String child)public File(File parent,String child)parent通常表示一个目录,child则表示一个目录或文件,文件管理File类,常用方法public String getAbsolutePath()public boolean canWrite
13、()/canRead()public boolean renameTo(File dest)public boolean delete()public boolean exists()public String getName()public String getParent()public boolean isDirectory()public boolean isFile()public String list()public String list(FilenameFilter filter)public boolean mkdir()public URL toURL(),文件管理Fil
14、e类,方法举例,import java.io.File;public class DirList public static void main(String args)File path=new File(.);String list=path.list();for(int i=0;i list.length;i+)System.out.println(listi);,import java.io.File;import java.io.FilenameFilter;public class DirList public static void main(String args)File p
15、ath=new File(.);String list=path.list(new DirFilter(args0);for(int i=0;i list.length;i+)System.out.println(listi);,class DirFilter implements FilenameFilter String key;DirFilter(String key)this.key=key;public boolean accept(File dir,String name)String f=new File(name).getName();return f.indexOf(key)
16、!=-1;,java.util.FilenameFilter 接口 public boolean accept(File dir,String name);/是否指定的文件应包含在文件列表中,public String getName()in java.io.File/获得文件或目录名,文件读写操作,文件读/写流程打开文件流条件判断读出/写入关闭文件流两种类型文件FileInputStream/FileOutputStream(字节流)FileReader/FileWriter(字符流),字节流构造方法public FileInputStream(String name)throws File
17、NotFoundExceptionpublic FileInputStream(File file)throws FileNotFoundExceptionpublic FileOutputStream(File file)throws FileNotFoundExceptionpublic FileOutputStream(File file,boolean append)throws FileNotFoundException/是否向已存在的文件后添加public FileOutputStream(String name)throws FileNotFoundExceptionpublic
18、 FileOutputStream(String name,boolean append)throws FileNotFoundException,文件读写操作,文件读写操作,2.字节流方法public int read()throws IOExceptionpublic int read(byte b)throws IOExceptionpublic int read(byte b,int offset,int len)throws IOExceptionpublic void close()throws IOException public void write(int b)throws
19、IOExceptionpublic void write(byte b)throws IOExceptionpublic void write(byte b,int offset,int len)throws IOException,典型的读文件程序import java.io.IOException;import java.io.FileInputStream;public class FileInputDemo public static void main(String args)throws IOException FileInputStream file=new FileInputS
20、tream(args 0);int c;while(c=file.read()!=-1)System.out.print(char)c);file.close();,import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;public class CopyBytesDemo1 public static void main(String args)throws IOException File inputFile=new File(
21、args0);File outputFile=new File(args1);FileInputStream in=new FileInputStream(inputFile);FileOutputStream out=new FileOutputStream(outputFile);int c;while(c=in.read()!=-1)out.write(c);in.close();out.close();,import java.io.*;public class c8_7 public static void main(String args)char c;int c1;File fi
22、lePath=new File(temp);if(!filePath.exists()filePath.mkdir();File fl=new File(filePath,d1.txt);try FileOutputStream fout=new FileOutputStream(fl);System.out.println(请输入字符,输入结束按#:);while(c=(char)System.in.read()!=#)fout.write(c);fout.close();System.out.println(n打印从磁盘读入的数据);,FileInputStream fin=new Fil
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第八 输入 输出
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-5088699.html