Java程序设计实例教程-第7章.ppt
第7章Java I/O流,程序,显示器,键盘,输入输出:相对于程序而言的,任务一:,abc.txt,lcy.txt,Test.class,!Java中每个文件和目录也是对象。File类构造方法:File(String filename)File(String parent,String child)File(File parent,String child)File(URI uri)如:File f1=new File(“Hello.java”);File f2=new File(“/”);File f3=new File(f2,”Hello.java”);File f4=new File(“/”,”Hello.java”);,File类常用方法:FileDemo.java,FileInputStream 和 FileOutputStream 文件流 FileInputStream FileOutputStream,FileInputStream类构造方法:FileInputStream(File file)FileInputStream(String name)FileInputStream类常用方法:int read()读取一个字节,返回ASCII码值int read(byte b)读取一部分字节int read(byte b,int off,int len)读取len字节,放到b的从off开始位置int close()关闭输入流,FileOutputStream类构造方法:FileOutputStream(File file)FileOutputStream(File file,boolean append)FileOutputStream(String name)FileOutputStream(String name,boolean append)FileOutputStream类常用方法:void write(int b)将一个指定字节写到输出流中void write(byte b)将一个字节数组b中的数据全部写到输出流中void write(byte b,int off,int len)将一个字节数组b中从off位置开始长为len的字节写到输出流中。int close()关闭输出流,FileReader 和 FileWriter文件流 FileReader FileWriter,FileReader类构造方法:FileReader(File file)FileReader(String name)FileReader类常用方法:int read()读取一个字符int read(char c)将字符读到数组,返回字符数int read(char c,int off,int len)读取len字节,放到b的从off开始位置int close()关闭流,FileWriter类构造方法:FileWriter(File file)FileWriter(File file,boolean append)FileWriter(String name)FileWriter(String name,boolean append)FileWriter类常用方法:void write(int c)写入字符cvoid write(String s)void write(char c)写入字符数组void write(char c,int off,int len)void write(String s,int off,int len)int close()关闭输出流,流的分类,(1)按照流中传输单位不同:字节流(InputStream/OutputStream)和 字符流(Reader/Writer)(2)按照传输方向不同:输入流 和 输出流(3)按照功能分:节点流 和 处理流,任务二:,abc.txt,abc.txt,Test.class,FileInputStream DataInputStream,DataOutputStream FileOutputStream,缓冲流,缓冲流要“套接”在相应的节点流之上,对读写的数据提供了缓冲的功能,提高了读写的效率,同时增加了新的方法。四种缓冲流:BufferedInputStream BufferedOutputStream BufferedReader BufferedWriter,BufferedReader提供了readLine方法用于读取一行字符串 BufferedWriter提供了newLine用于写入一个行分隔符 输出缓冲流,写出的数据会现在内存中缓存,使用flush方法将会使内存 中的数据立刻写出。,数据流,数据流要“套接”在相应的节点流之上,输入输出各种类型的数据:byte、short、char、int、long、float、double。两个数据流:DataInputStream DataOutputStream,打印流,打印流要“套接”在相应的节点流之上,方便打印各种类型的数据。两个打印流:PrintStream PrintWriter,提供了很print重载的方法,可以打印不同的数据类型 在类System中有一个成员变量out 就是PrintStream类型的。,标准流,System类用来管理标准输入/输出流和错误流。in键盘 InputStream类型out显示器 PrintStream类型err显示器 PrintStream类型,SystemDemo.java,内存流,流的来源或目的地不一定是文件,还可以是内存中的一个空间。ByteArrayOutpupStreamByteArrayInputStreamCharArrayWriterCharArrayReader,RandomAccessFile类,构造方法:RandomAccessFile(File file,String mode)RandomAccessFile(string name,string mode)如:RandomAccessFile(“src/Test.java”,”r”)RandomAccessFile(“src/Test.java”,”rw”)/rws rwd,常用方法:long getFilePointer()void seek(long pos)long length(),