版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、javajava输入输出流输入输出流伍淳华伍淳华北京邮电大学计算机学院北京邮电大学计算机学院java输入输出流输入输出流文件描述文件描述l类类filefile提供了一种与机器无关的方式来描述一个提供了一种与机器无关的方式来描述一个文件对象的属性文件对象的属性l文件的生成文件的生成 public public file(stringfile(string path); path); public public file(stringfile(string path,stringpath,string name); name); public public file(filefile(file d
2、ir,stringdir,string name); name);javajava输入输出流输入输出流文件描述文件描述v文件名的处理文件名的处理 string string getnamegetname();/();/* *得到一个文件的名称(不包括路得到一个文件的名称(不包括路径)径)* */ / string string getpathgetpath();();/得到一个文件的路径名得到一个文件的路径名 string string getabsolutepathgetabsolutepath();/();/* *得到一个文件的绝对得到一个文件的绝对路径名路径名* */ / string
3、string getparentgetparent();();/ /* *得到一个文件的上一级路得到一个文件的上一级路径名径名* */ / string string renameto(filerenameto(file newnamenewname) ;/) ;/* *将当前文件名将当前文件名更名为给定文件的完整路径更名为给定文件的完整路径* */ /javajava输入输出流输入输出流文件描述文件描述v文件属性测试文件属性测试 boolean exists();/*测试当前测试当前file对象所指向的对象所指向的文件是否存在文件是否存在*/ boolean canwrite();();/
4、测试当前文件是否测试当前文件是否可写可写 boolean canread();/测试当前文件是否可读测试当前文件是否可读 boolean isfile();/*测试当前文件是否是文件测试当前文件是否是文件(不是目录)(不是目录)*/ boolean isdirectory();/*测试当前文件是否是测试当前文件是否是目录目录*/javajava输入输出流输入输出流文件描述文件描述l普通文件信息和工具普通文件信息和工具 long lastmodified();/得到文件最近一次修改的时间 long length();/得到文件的长度,以字节为单位 boolean delete();/删除当前文件
5、l目录操作目录操作 boolean mkdir();/*根据当前对象生成一个由该对象指定的路径*/ string list();/列出当前目录下的文件javajava输入输出流输入输出流import java.io.*;class filetestwpublic static void main(string args)system.out.println(“path separator”+file.pathseparator); system.out.println(“path separator char”+file.pathseparatorchar);system.out.printl
6、n(“file separator”+file.separator);system.out.println(“file separator char”+file. separatorchar);file f=new file(“dong1/test1.class”)system.out.println();system.out.println(f);system.out.println(“exist?”+file.exists();system.out.println(“name”+f.getname();system.out.println (“path”+f.getpath();syste
7、m.out.println (“absolute path”+f.getabsolutepath();system.out.println (“parent”+f.getparent();javajava输入输出流输入输出流system.out.println (“is a file”+f.isfile();system.out.println (“is a directory”+f.isdirectory();system.out.println (“length”+f.length();system.out.println (“can read”+f.canread();system.ou
8、t.println (“can write”+f.canwrite();system.out.println (“last modified”+f.lastmodified();file newf=new file(“new file”);system.out.println (“rename”+f+”);f.renameto(newf);system.out.println (“name”+newf.getname();system.out.println (f+“exists?”+f.exists();system.out.println (“delete”+newf+”);newf.de
9、lete();system.out.println (newf+“exists?”+newf.exists();javajava输入输出流输入输出流运行结果运行结果path separator;path separator;path separator char;path separator char;file separatorfile separatorfile separator charfile separator chardong1/test1.classdong1/test1.classexists?trueexists?truenametest1.classnametest1.c
10、lasspath/dong1/test1.classpath/dong1/test1.classabsolute path /dong1/test1.classabsolute path /dong1/test1.classparent/dong1parent/dong1is a is a file?truefile?trueis a is a directory?falsedirectory?falsejavajava输入输出流输入输出流运行结果运行结果length 514length 514can read truecan read truecan write truecan write
11、truelast modified 907117020000last modified 907117020000rename/dong1/test1.classrename/dong1/test1.classname name newfilenewfile/dong1/test1.class /dong1/test1.class exists?falseexists?falsedelete delete newfilenewfilenewfilenewfile exists?falseexists?falsejavajava输入输出流输入输出流文件处理文件处理v列出目录中与某种模式相匹配的文件
12、列出目录中与某种模式相匹配的文件 public string list(filenamefilter filter); 在接口在接口filenamefilter中定义的方法只有:中定义的方法只有: boolean accept(file dir,string name);javajava输入输出流输入输出流import java.io.*;public class filefiltertest public static void main (string args)file dir=new file(“/dong1”);filter filter=new filter(“htm”);syst
13、em.out.println(“list html files in directory ”+dir);string files=dir.list(filter);for(int i=0;ifiles.length;i+)file f=new file(filesi); if(f.isfile() system.out.println(“file”+f); else system.out.println(“sub directory”+f);javajava输入输出流输入输出流class filter implements filenamefilterstring extent;fileter
14、(string extent)this.extent=extent;public boolean accept(file dir,string name)return name.endswith(“.”+extent);javajava输入输出流输入输出流运行结果运行结果 list html files in derectory /dong1 file cert_test.htm file cert_sample.htm file cert_obj.htmjava流的基本概念vjavajava语言中输入语言中输入/ /输出功能是通过流类来实现的,输出功能是通过流类来实现的,可以完成从基本的输入
15、可以完成从基本的输入/ /输出到复杂的随机文件访输出到复杂的随机文件访问,包括问,包括javajava中的网络操作也是通过流来完成的。中的网络操作也是通过流来完成的。文件文件程序程序文件文件程序程序网络端点网络端点数据流数据流起点起点终点终点 网络端点网络端点java流的基本概念l 数据流是从源到目的的字节的有序序列,先进先出。l 按照流相对于程序的方向,可以分为两种基本流: input stream(输入流),output stream(输出流)java输入流与输出流l 输入流:用于将程序中需要的数据从键盘、文件等外部设备读入。l 输出流:用于将程序中产生的数据写到文件、屏幕显示等输出设备上
16、读操作过程读操作过程: :打开一个流打开一个流while(while(是否有更多数据是否有更多数据) ) 读数据读数据关闭流关闭流 写操作过程写操作过程: :打开一个流打开一个流while(while(是否有更多数据是否有更多数据) ) 写数据写数据关闭流关闭流java流式输入输出的特点l 每个数据都必须等待排在它前面的数据读入或送出之后才能被读写l 每次读写操作处理的都是序列中剩余的未读写数据中的第一个,而不能随意选择输入输出的位置javajava的标准输入输出l 标准输入输出是指在命令行方式下的输入输出方式。l java通过system.in、system.out和system.err来实
17、现标准输入输出和标准错误输出。l 每当main方法被执行时,就自动生成system.in、system.out和system.err三个对象。javajava的标准输入输出l system.in是字节输入流inputstream类的一个对象,其中有read方法从键盘读入数据: public int read() throws ioexception public int read(byte b) throws ioexceptionl system.out是流printstream类的一个对象,其中print和println方法向屏幕输出数据。l system.err是流printstream
18、类的一个对象,用于向屏幕输出错误信息。java例例1:输入输出的实例:输入输出的实例vimport java.io.ioexception;vpublic class stdinout vpublic static void main(string args)vbyte buf = new byte100;vint count = 0;vsystem.out.println(please input a string:);vtryvcount = system.in.read( buf );vcatch(ioexception e)ve.printstacktrace();vvsystem.o
19、ut.println(count = +count);vfor(int j = 0; j count; j+)vsystem.out.println(char)bufj);vvsystem.out.println(input ten chars);vint ch;vtryvfor(int i = 0; i 10; i+)vch = system.in.read();vsystem.out.println(char)ch);vvvcatch(ioexception e)ve.printstacktrace();vvvjava例例1:输入输出的实例:输入输出的实例程序程序控制台控制台inputst
20、reamprintstreamjavajava的数据流l java的数据流都在java.io包里l java的数据流根据操作的数据流分为字节流和字符流l 字节流:流中的数据以8位字节为单位进行读写,以inputstream和outputstream为基础类。l 字符流:流中的数据以16位字节为单位进行读写,以reader和writer为基础类。javajava的数据流v 以字节为对象:以字节为对象: 输入流:输入流:inputstream 输出流:输出流:outputstreav 以字符为对象:以字符为对象: 输入流:输入流: reader 输出流:输出流: writer字节流和字符流的比较字
21、节流和字符流的比较n字节流字节流适用于各类文件适用于各类文件每次读写每次读写8 8位字节位字节效率较低效率较低n字符流字符流n适用于适用于1616位的字符文件位的字符文件n每次读写每次读写1616位字符位字符n效率较高效率较高java字节流l inputstream和outputstream分别是字节输入流和字节输出流的超类l inputstream和outputstream是抽象类l inputstream和outputstream提供许多用于字节输入输出的方法,包括:1. 数据的读取2. 数据的写入3. 标记位置4. 获取数据量5. 关闭数据流java字节输入流inputsream类的层次
22、结构javainputstream 方法v三个基本read( )方法int read() /读一个字节返回int read(byte ) / 将数据读入byte, 返回读的字节数int read( byte, int offset, int length )v其它方法void close( ) /关闭流。int available() /返回未读的字节数long skip(long n) / 跳过n个字节java字节输出流outputsream类层次javaoutputstream方法v三个基本的write( )方法void write( int ) / 写一个字节void write(byt
23、e ) / 写一个字节数组void write(byte , int offset, int length ) v其它方法void close( ) void flush( ) / 强行写java字节文件输入输出流l fileinputstream和fileoutputstream实现了对文件的顺序访问,以字节为单位对文件进行读写操作,主要有这样几步:1. 创建文件输入输出流的对象2. 打开文件3. 用文件读写方法读写数据4. 关闭数据流。java创建文件输入流对象并打开文件v创建fileinputstream的对象,打开要读取数据的文件 fileinputstream的构造方法是:1. pu
24、blic fileinputstream(string name) throws filenotfoundexception2. public fileinputstream(file file) throws filenotfoundexception如下面语句可以创建文件的输入流对象,并打开要读取数据的文件d:javapro1.java: fileinputstream rf=new fileinputstream(“d:/java/pro1.java”); java创建文件输出流并打开文件v 创建fileoutputstream的对象,打开要写入数据的文件fileoutputstream
25、的构造方法是:1. public fileoutputstream(string name) throws filenotfoundexception2. public fileoutputstream(s,boolean append) throws filenotfoundexception3. public fileoutputstream(file file) throws filenotfoundexception 其中:name是要打开的文件名,file是文件类file的对象。如下面语句可以创建文件的输出流对象,并打开要写入数据的文件d:/java/pro2.j
26、ava : fileoutputstream wf=new fileoutputstream(“d:/java/pro2.java”);java对文件进行读写的方法v 用read方法读取文件的数据1. public int read( ) throws ioexception /返回从文件中读取的一个字节。2. public int read(byte b) throws ioexception3. public int read(byte b,int off,int len) throws ioexception /返回读取的字节数,若b的长度为0,返回0。 java对文件进行读写的方法v
27、用write方法将数据写入文件1. public void write(int b) throws ioexception 向文件写入一个字节,b是int类型,所以将b的低8位写入2. public void write(byte b) throws ioexception3. public void write(byte b,int off,int len) throws ioexception 将字节数组写入文件,其中off是b中的起始位置,len是写入的最大长度。java字节文件流的关闭l 当读写操作完毕时,要关闭输入或输出流,释放相关的系统资源。l 如果发生i/o错误,抛出ioexce
28、ption异常。l 关闭数据流的方法是: public void close( ) throws ioexceptionjava读取文件内容并显示在屏幕1. import java.io.*;2. public class filein3. public static void main(string args)4. try5. fileinputstream rf=new fileinputstream(d:/java/file1.txt);6. int b;7. while(b=rf.read()!=-1)8. system.out.print(char)b); 9. rf.close()
29、;10. catch(ioexception ie)11. system.out.println(ie);12. catch(exception e)13. system.out.println(e);14. 15. 16.java复制文件1. import java.io.*;2. public class filein_out3. public static void main(string args)4. try5. fileinputstream rf=new fileinputstream(d:/java/file1.txt);6. fileoutputstream wf=new f
30、ileoutputstream(d:/java/file2.txt);7. byte b=new byte512;8. while(rf.read(b,0,512)!=-1)9. wf.write(b);10. rf.close();11. wf.close();12. 13. catch(ioexception ie)14. system.out.println(ie);15. 16. catch(exception e)17. system.out.println(e);18. 19. 20.javajavajava输入输出流输入输出流节点流节点流v 节点流指的是与存储介质直接相关的流,例
31、如fileinputstream,stringreader等。javajavajava输入输出流输入输出流过滤流过滤流v 过滤流在读过滤流在读/写数据的同时可以对数据进行处写数据的同时可以对数据进行处理,它提供了同步机制,使得某一时刻只有一理,它提供了同步机制,使得某一时刻只有一个线程可以访问一个个线程可以访问一个i/o流,以防止多个线流,以防止多个线程同时对一个程同时对一个i/o流进行操作所带来的意想流进行操作所带来的意想不到的结果。不到的结果。v 类类filterinputstream和和filteroutstream分别作为所有过滤输入流分别作为所有过滤输入流和输出流的父类。和输出流的父
32、类。javajavajava输入输出流输入输出流过滤流过滤流v 为了使用一个过滤流,首先必须把过滤流连接为了使用一个过滤流,首先必须把过滤流连接到某个输入到某个输入/输出上,通常通过在构造方法的输出上,通常通过在构造方法的参数中指定所要连接的输入参数中指定所要连接的输入/输出流来实现。输出流来实现。例如:例如:filterinputstream(inputstream in); filteroutputstream(outputstream out);javajavajava输入输出流输入输出流过滤流过滤流v bufferedinputstream和和bufferoutputstream缓冲流
33、,用于提高缓冲流,用于提高输入输入/输出处理的效率。输出处理的效率。java.long.objectjava.long.object | | +- +-java.io.inputstreamjava.io.inputstream | | +- +-java.io.filterinputstreamjava.io.filterinputstream | | +- +-java.io.bufferedinputstreamjava.io.bufferedinputstreamjava数据输入输出流l 数据输入流允许应用程序以与机器无关方式从底层输入流中读取基本 java 数据类型。应用程序可以使用
34、数据输出流写入稍后由数据输入流读取的数据。 datainputstreamdatainputstream(inputstreaminputstream in) l 数据输出流允许应用程序以适当方式将基本 java 数据类型写入输出流中。然后,应用程序可以使用数据输入流将数据读入。 dataoutputstreamdataoutputstream (outputstreamoutputstream out) javal datainputstream方法 byte readbyte( ) boolean readboolean( ) long readlong( ) char readchar(
35、 ) double readdouble( ) float readfloat( ) short readshort( ) int readint( ) string readutf() 数据输入输出流javal dataoutputstream 方法 void writebyte(byte) void writeboolean(boolean) void writelong( long ) void writechar(char) void writedouble(double) void writefloat( float) void writeshort(short) void writ
36、eint ( int) void writebytes(string) void writechars(string ) void writeutf(string str) 数据输入输出流java数据流示例:dataiotest.java1. import java.io.*;2. public class dataiotest 3. public static void main(string args) throws ioexception 4. dataoutputstream out = new dataoutputstream(new fileoutputstream(invoice
37、1.txt);5. fileoutputstream f=new fileoutputstream(invoice1.txt);6. dataoutputstream out = new dataoutputstream(f);7. double prices = 19.99, 9.99, 15.99, 3.99, 4.99 ;8. int units = 12, 8, 13, 29, 50 ;9. string descs = java t-shirt, java mug,duke juggling dolls, java pin, java key chain ;10. for (int
38、i = 0; i prices.length; i +) 11. out.writedouble(pricesi);12. out.writechar(t);13. out.writeint(unitsi);14. out.writechar(t);15. out.writechars(descsi);16. out.writechar(n);17. 18. out.close();java17. datainputstream in = new datainputstream(new fileinputstream(invoice1.txt);18. double price;19. int
39、 unit;20. string desc;21. double total = 0.0;22. try 23. while (true) 24. price = in.readdouble();25. in.readchar(); / throws out the tab26. unit = in.readint();27. in.readchar(); / throws out the tab28. desc = in.readline();29. system.out.println(youve ordered + unit + units of + desc + at $ + pric
40、e);30. total = total + unit * price;31. 32. catch (eofexception e) 33. 34. system.out.println(for a total of: $ + total);35. in.close();36. 37.数据流示例:dataiotest.javajavajava输入输出流输入输出流管道流管道流l管道用来把一个程序,线程或者代码块的输出连接到另管道用来把一个程序,线程或者代码块的输出连接到另一个程序,线程或者代码块的输入一个程序,线程或者代码块的输入l管道输入流作为一个通信管道的接收端,管道输出流作管道输入流作为一
41、个通信管道的接收端,管道输出流作为发送端为发送端l在使用管道之前,管道输出流和管道输入流之间必须进在使用管道之前,管道输出流和管道输入流之间必须进行连接行连接javajava输入输出流输入输出流管道流管道流l 在构造方法中连接:在构造方法中连接: pipeinputstream(pipeoutputstreampipeinputstream(pipeoutputstream des); des); pipeoutputstream(pipeinputstreampipeoutputstream(pipeinputstream srcsrc););l 用用connectconnect方法进行连接
42、方法进行连接 类类pipeinputstreampipeinputstream中定义为:中定义为: void void connect(pipeoutputstreamconnect(pipeoutputstream des); des); 类类pipeoutputstreampipeoutputstream中定义为:中定义为: void void connect(pipeinputstreamconnect(pipeinputstream srcsrc););javajava输入输出流输入输出流内存的读写内存的读写l bytearrayinputstreambytearrayinputstr
43、eam 8 8位位l bytearrayoutputstreambytearrayoutputstream 8 8位位l stringbufferinputstreamstringbufferinputstream 16 16位位javajava输入输出流输入输出流顺序输入流顺序输入流lsequenceinputstreamsequenceinputstream 把几个输入流顺序连接起来把几个输入流顺序连接起来javajava输入输出流输入输出流import import java.iojava.io. .* *;public class public class sequencetestse
44、quencetest fileinputstreamfileinputstream fs1,fs2; fs1,fs2;string s;string s;trytry try try fs1=new fileinputstream(“text1”) fs1=new fileinputstream(“text1”); fs1=new fileinputstream(“text2”) fs1=new fileinputstream(“text2”); catch(filenotfoundexceptioncatch(filenotfoundexception e) e) system.out.pr
45、intln(“filesystem.out.println(“file not found or permission denied”); not found or permission denied”);system.exit(-1);system.exit(-1); javajava输入输出流输入输出流sequenceinputstreamsequenceinputstream s1=new sequenceinputstream(fs1,fs2); s1=new sequenceinputstream(fs1,fs2);while(swhile(s=s1.readline()!=null
46、)=s1.readline()!=null) system.out.println(ssystem.out.println(s);); catch(ioexceptioncatch(ioexception e) e) system.out.println(“error”+esystem.out.println(“error”+e);); system.exit(-2); system.exit(-2); java字符流l 类reader是字符输入流的抽象超类,其提供的方法与inputstream类似,只是将基于byte的参数改为基于char。l 类writer是字符输出流的抽象超类,其提供的方
47、法与outputstream类似,只是将基于byte的参数改为基于char。l reader和writer 类实现字节和字符间的自动转换。l 每一个核心输入、输出流,都有相应的reader和writer版本。javareader的类层次结构javareader的基本方法int read();/读单个字符int read(char cbuf);/读字符放入数组中int read(char cbuf, int offset, int length);/读字符放入数组的指定位置 void close( ) /关闭流。long skip(long n) / 跳过n个字符boolean ready()
48、/测试当前流是否准备好进行读javawriterwriter的类层次结构的类层次结构javawriter的基本方法int write(int c) ; / 写单个字符int write(char cbuf) ;/ 写字符数组int write(char cbuf, int offset, int length) ; int write(string str) ;int write(string str, int offset, int length) ;void close( ) void flush( ) / 强行写java字符文件输入输出流l filereader和filewriter类用
49、于字符文件的输入和输出l 读写文件的过程:1. 先创建对象打开文件2. 然后用读写方法从文件中读取数据或将数据写入文件3. 最后关闭数据流。java创建字符流文件对象l 创建filereader或filewriter对象,打开要读写的文件lfilereader的构造方法是:public filereader(string filename)public filereader(file file)lfilewriter的构造方法是:public fliewriter(string filename)public filewriter(file file)java字符文件流的读写l 用从超类继承的
50、read和write方法可以对打开的文件进行读写。l读取文件数据的方法: int read( ) throws ioexception int read(char b ) throws ioexception int read(char b ,int off,int len) throws ioexceptionl数据写入到文件的方法: void write(char b) throws ioexception void write(char b ) throws ioexception void write(char b ,int off,int len) throws ioexceptio
51、njava字符文件流的关闭l 对文件操作完毕要用close方法关闭数据流。 public void close( ) throws ioexceptionjava从键盘输入一行文字,写入文件file3.txt中1. import java.io.*;2. public class filecharout3. public static void main(string args) 4. char c=new char512;5. byte b=new byte512;6. int n,i;7. try8. filewriter wf=new filewriter(file3.txt);9. n
52、=system.in.read(b);10. for(i=0;in;i+)11. ci=(char)bi;12. wf.write(c);13. wf.close();14. 15. catch(ioexception e)16. system.out.println(e);17. 18. 19.java字符缓冲流l bufferedreader和bufferedwriter类以缓冲区方式对数据进行输入输出。l bufferedreader用于字符缓冲输入,构造方法如下: public bufferedreader(reader in) public bufferedreader(reader
53、 in,int sz) 其中:in为超类reader的对象,sz为用户设定的缓冲区大小。javal bufferedwriter用于字符缓冲流输出,构造方法为: public bufferedwriter(writer out) public bufferedwriter(writer out,int sz) 其中:out为超类writer的对象,sz为用户设定的缓冲区大小。字符缓冲流java例6:从键盘输入文字存入文件,再读出加上行号后打印在屏幕1. import java.io.*;2. public class bufferdemo3. public static void main(s
54、tring args)4.string f=f.txt;5.string str=;6.int i=0;7.try8. bufferedreader keyin=new bufferedreader(new inputstreamreader(system.in);9. bufferedwriter bw=new bufferedwriter(new filewriter(f);10. bufferedreader br = new bufferedreader(new filereader(f);11. system.out.println(please input file text:);
55、12. while(!(str=keyin.readline().equals(exit)13. bw.write(str,0,str.length();14. bw.newline();15. 16.字符缓冲流java1. bw.close();2. while(str=br.readline()!=null)3. i+;4. system.out.println(i+: +str);5. 6.catch(ioexception e)7.8. 9. 字符缓冲流javajava输入输出流输入输出流对象的串行化(对象的串行化(serializationserialization)l 对象记录自己
56、的状态以便将来再生的能力,叫做对象的持续性对象记录自己的状态以便将来再生的能力,叫做对象的持续性(persistencepersistence)l 对象通过写出描述自己状态的数值来记录自己,这个过程叫做对象的串对象通过写出描述自己状态的数值来记录自己,这个过程叫做对象的串行化(行化(serialization)javajava输入输出流输入输出流串行化方法串行化方法v在在java.io包中,接口包中,接口serializable用来作为实现对象串行化的工用来作为实现对象串行化的工具,只有实现了具,只有实现了serializable的类的对象才可以被串行化的类的对象才可以被串行化javajava
57、输入输出流输入输出流定义一个可串行化对象定义一个可串行化对象public class student implements serializable int id;/学号学号 string name;/姓名姓名 int age;/年龄年龄 string department;/系别系别public student(int id,string name,int age,string department)this.di=id;=name;this.age=age;this.department=department;javajava输入输出流输入输出流构造对象的输入构造对象的输
58、入/ /输出流输出流vjava.io包中,提供了objectinputstream和objectoutputstream将数据流功能扩展至可读写对象。在objectinputstream中使用readobject()可以直接读取一个对象, objectoutputstream中用writeobject方法可以直接将对象保存到输出流中javajava输入输出流输入输出流保存对象状态保存对象状态student student stustu=new student(981036,”liu ming”,18,”csd”);=new student(981036,”liu ming”,18,”csd”)
59、;fileoutputstreamfileoutputstream fofo=new =new fileoutputstream(“data.serfileoutputstream(“data.ser”);”);objectoutputstreamobjectoutputstream so=new so=new objectoutputstream(foobjectoutputstream(fo););trytryso.writeobject(stuso.writeobject(stu););so.closeso.close();(); catch(ioexceptioncatch(ioexception e) e)system.out.println(esystem.out.println(e););fileinputstreamfileinputstream fifi=new =new fileinputstream(“data.serfileinputstream(“data.ser”);”);objectinputstreamobjectinputstream sisi=new =new objectinputstream(fiobjectinputstream(fi););trytrysi.write
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年街舞教练专属聘用协议3篇
- 八年级美术教学工作计划
- 2024年网络营销服务外包合同
- 2024年标准版劳动者服务协议范本版B版
- 身体原因辞职报告【10篇】
- 举办毕业晚会的策划设计方案6篇
- 2024年绿植销售与安装服务协议
- 动感课堂2016年春九年级化学下册 第八单元 金属和金属材料 课题2 金属的化学性质教学实录 (新版)新人教版
- 高中语文教师个人教学总结报告
- 2024年股权预先转让协议范本版
- 2024-2025学年人教版数学五年级上册期末检测试卷(含答案)
- 工程设计-《工程勘察设计收费标准》(2002年修订本)-完整版
- 物流系统仿真技术智慧树知到期末考试答案章节答案2024年山东交通学院
- 人教部编版三年级上册语文【选择题】专项复习训练练习100题
- 临床试验样本量简易计算器
- 给我店周边各企事业单位领导赠送体验券方案的请示
- 世界气候分布图(空白轮廓底图)
- 山东省建设工程质量监督档案样表
- 天津市工伤职工停工留薪期确定通知书
- 小学二年级数学期末口试模拟试题
- 中国地理分区空白图(共5页)
评论
0/150
提交评论