欢迎来到天天文库
浏览记录
ID:40558283
大小:36.00 KB
页数:7页
时间:2019-08-04
《java语言之三:IO操作》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一:IO操作IO操作包括三类:文件操作类,字节操作类,字符操作类。1:文件操作类File是唯一一个与文件本身操作有关的类(还有一个RandomAccessFile类是一个随机访问类,可以写,但是要随机访问需要规定好长度)实例一(创建一个文件,如果这个文件之前存在则删除,否则新建):代码如下:publicstaticvoidmain(String[]args){Filef=newFile("c:\iodemo1.txt");//注意使用/或者\隔开try{if(f.exists()){f.delete();}else{f.create
2、NewFile();}}catch(Exceptione){e.printStackTrace();}}实例二:使用递归方法打印出给定目录下的文件名publicstaticvoidmain(String[]args){loop("c:/javademo");}publicstaticvoidloop(Stringdir){Filef=newFile(dir);//文件可以是一个目录Stringstr[]=null;//构建一个字符数组来保存目录名和文件名if(f.isDirectory()){str=f.list();//返回一个文件名
3、和目录名组成的字符数组for(inti=0;i4、类的对象去实例化InputStream和OutputStream的子类对象对文件进行读写操作关闭文件注意InputStream和OutputStream是字节操作,所有的数据都要用byte数组来操作。字节流没有使用缓存而字符流使用了缓存,所以字符流输出时如果不关闭则无法将内容写到文件。3:线程间的通信:管道流PipedOutputStream,PipedInputStream。在两个线程间可以通过一个PipedOutStream和一个PipedInputStream来进行通信。示例一:通过管道流实现线程间的通信代码如下://定义一个发送5、者线程classSenderimplementsRunnable{privatePipedOutputStreamout;publicPipedOutputStreamgetOut(){returnout;}publicSender(){out=newPipedOutputStream();}publicvoidrun(){Stringstr="兔兔";try{out.write(str.getBytes());out.close();}catch(Exceptione){e.printStackTrace();}}}//定义一个接收者6、线程classReceiverimplementsRunnable{privatePipedInputStreamin;publicPipedInputStreamgetIn(){returnin;}publicReceiver(){in=newPipedInputStream();}publicvoidrun(){byte[]buf=newbyte[1024];intlen=0;try{len=in.read(buf);//获得实际所读取内容的长度in.close();}catch(IOExceptione){e.printStack7、Trace();}System.out.println("读取的内容是:"+newString(buf,0,len));//把字节转化成字符串}}publicclassIODemo1{publicstaticvoidmain(String[]args){Sendersender=newSender();Receiverreceiver=newReceiver();Threadsend=newThread(sender);Threadreceive=newThread(receiver);PipedOutputStreamout=send8、er.getOut();PipedInputStreamin=receiver.getIn();try{out.connect(in);//将两个管道流进行连接}catch(Exceptione){e.pr
4、类的对象去实例化InputStream和OutputStream的子类对象对文件进行读写操作关闭文件注意InputStream和OutputStream是字节操作,所有的数据都要用byte数组来操作。字节流没有使用缓存而字符流使用了缓存,所以字符流输出时如果不关闭则无法将内容写到文件。3:线程间的通信:管道流PipedOutputStream,PipedInputStream。在两个线程间可以通过一个PipedOutStream和一个PipedInputStream来进行通信。示例一:通过管道流实现线程间的通信代码如下://定义一个发送
5、者线程classSenderimplementsRunnable{privatePipedOutputStreamout;publicPipedOutputStreamgetOut(){returnout;}publicSender(){out=newPipedOutputStream();}publicvoidrun(){Stringstr="兔兔";try{out.write(str.getBytes());out.close();}catch(Exceptione){e.printStackTrace();}}}//定义一个接收者
6、线程classReceiverimplementsRunnable{privatePipedInputStreamin;publicPipedInputStreamgetIn(){returnin;}publicReceiver(){in=newPipedInputStream();}publicvoidrun(){byte[]buf=newbyte[1024];intlen=0;try{len=in.read(buf);//获得实际所读取内容的长度in.close();}catch(IOExceptione){e.printStack
7、Trace();}System.out.println("读取的内容是:"+newString(buf,0,len));//把字节转化成字符串}}publicclassIODemo1{publicstaticvoidmain(String[]args){Sendersender=newSender();Receiverreceiver=newReceiver();Threadsend=newThread(sender);Threadreceive=newThread(receiver);PipedOutputStreamout=send
8、er.getOut();PipedInputStreamin=receiver.getIn();try{out.connect(in);//将两个管道流进行连接}catch(Exceptione){e.pr
此文档下载收益归作者所有