第十四章 输入输出流.doc

上传人:M****1 文档编号:550533967 上传时间:2022-11-01 格式:DOC 页数:8 大小:89KB
返回 下载 相关 举报
第十四章 输入输出流.doc_第1页
第1页 / 共8页
第十四章 输入输出流.doc_第2页
第2页 / 共8页
第十四章 输入输出流.doc_第3页
第3页 / 共8页
第十四章 输入输出流.doc_第4页
第4页 / 共8页
第十四章 输入输出流.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《第十四章 输入输出流.doc》由会员分享,可在线阅读,更多相关《第十四章 输入输出流.doc(8页珍藏版)》请在金锄头文库上搜索。

1、 第十四章 I/OFile类的使用java.io.File类代表硬盘上的一个文件或文件夹(代表并不一定存在)java中文件路径的表示方式Windows中表示 c:suns.txtJava中表示c:suns.txtc:/sun.txtFile类的构造方法构造方法 File类没有无参构造方法File(String pathname)/主要File(String parent,String child)Fille(File parent,String child)File类的常用方法createNewFile()/文件不存在时才会创建,mkdir()/mrdirs()/用于创建目录,mkdir()只

2、能创建一级目录,mrdirs()可以创建多级目录delete()/删除当前文件或文件夹,立即删除deleteOnExit()/不会立即删除文件,会等虚拟机运行完后删除exists()/判断目录是否存在isFile()/判断是否代表文件 返回值都是boolean值isDirectory()/判断是否为目录getPath()/获得文件路径getName()/获得文件名字getparent()/获得目录路径getAbsolutePath()/绝对路径list()/只能用于目录,获得子目录和文件名字例File f0 = new File(abc.txt);f0.createNewFile();File

3、 f1 = new File(abc/bac);f1.mkdirs();File f2 = new File(cde,bcd/sun.txt);/创建一级目录cde,及子目录bcd内的文件sunSystem.out.println(f2.getPath();/cdebcdsun.txt System.out.println(f2.getParent();/cdebcd System.out.println(f2.getName();/sun.txt System.out.println(f2.getAbsolutePath();/获得f2的绝对路径 File f5 = new File(c:)

4、;/创建目录 System.out.println(f5.isDirectory();/true判断对象是否为目录I/OI/O概念I:input O:output是针对java虚拟机流的概念用来传输数据的对象(生活例子:电线,输水管.)I/O流的分类按照流的方向分类输入流 可以从其中读入一个字节序列的对象称为输入流输出流 可以向其中写入一个字节序列的对象称为输出流按照数据单位分类字节流 最底层字符流 专门读文本文件按照传输数据功能分类节点流 过滤流字节流传输的数据单位是字节,也意味着字节流能够处理任何一种文件字节流的组成InputStream(父类,抽象类) FileInputStream(子

5、类)OutputStream(父类,抽象类) FileOutputStream(子类)FileInputStream常用方法FileInputStream(String filename)/会有检查异常,需处理FileInputStream(File file)close()/关闭流int read()/字节返回int值。遇到输入源结尾时,返回-1例public class Test public static void main(String args)throws Exception InputStream is = new FileInputStream(ex01.txt); int l

6、en = 0; while(len=is.read()!=-1) char c = (char)len; System.out.println(c); int read(byte bs)/会将读取的数据填充到数组里去public class Test public static void main(String args)throws Exception InputStream fin = new FileInputStream(ex01.txt); byte bs = new byte6; int len = 0; while(len=fin.read(bs)!=-1) for(int i

7、= 0; ilen;i+)/遍历打印 System.out.print(char)bsi); System.out.println(); fin.close(); int read(byte bs;int off;int len)int off偏移量,int len存储数组长度FileOutputStream常用方法FileOutputStream(String path)/会有检查异常,需处理FileOutputStream(File file)close()void wrtte(int v)void write(byte bs)void write(byte bs;int off;int

8、len)例public class Test public static void main(String args)throws Exception String hello = Hello World; byte bs = hello.getBytes(); FileOutputStream fout = new FileOutputStream(test.txt); fout.write(bs);/将数组bs中的内容写入文件test中 fout.close(); /在原有文件上追加内容/FileOutputStream(String path,boolean append)FileOut

9、putStream(File file,boolean append)public class Test public static void main(String args)throws Exception String hello = Hello World; byte bs = hello.getBytes(); FileOutputStream fout = new FileOutputStream(test.txt,true); fout.write(bs); fout.close(); 异常处理public static void main(String args)FileInp

10、utStream fin = null;try fin = new FileInputStream(abc.txt); byte bs = new byte6;int len = 0;while (len = fin.read(bs) != -1) for (int i = 0; i len; i+) System.out.print(char) bsi);System.out.println(); catch (Exception e) e.printStackTrace(); finally if (fin != null)try fin.close(); catch (IOExcepti

11、on e) e.printStackTrace();过滤流Data StreamDataInputStreamreadXxx();DataOutputStreamwriteXxx();过滤流的开发步骤创建节点流基于节点流创建过滤流读/写数据关闭外层流/创建节点流FileOutputStream fout = new FileOutputStream(pi.dat);封装过滤流DataOutputStream dout = new DataOutputStream(fout);写数据dout.writeDouble(3.14);关闭外层流dout.close();/创建节点流FileInputS

12、tream fin= new FileInputStream (pi.dat);/封装过滤流DataInputStream din = new DataInputStream(fin);/读数据double pi = din.readDouble();/关闭外层流din.close();Buffered Stream/增加了一个缓冲区的功能BufferedInputStreamBufferedOutputStream例String data = Hello World;byte bs = data.getBytes();FileOutputStream fout = new FileOutpu

13、tStream(test.txt);BufferedOutputStream bout = new BufferedOutputStream(fout);bout.write(bs);bout.close();/若将这一行注释掉,文件中将没有内容(bout.flush()等同)ObjectStream/增强了读写对象的功能ObjectInputStreamObjectOutputStreamObjectStream特点writeObject()readObject()对象序列化:把对象放在流上进行传输的过程若这个对象可以在流上进行传输叫做可序列化的对象若想让这个对象可以在流上进行传输要实现一个接口java.io.Serializeble接口/没有方法来实现接口叫做标示接口class Student implements Serializable String name; transient int age;public Student(String name, int age) this.name = name;this.age = age;public class TestSerializable public static v

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号