java语言之三:IO操作.doc_第1页
java语言之三:IO操作.doc_第2页
java语言之三:IO操作.doc_第3页
java语言之三:IO操作.doc_第4页
java语言之三:IO操作.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一:IO操作IO操作包括三类:文件操作类,字节操作类,字符操作类。1:文件操作类File是唯一一个与文件本身操作有关的类(还有一个RandomAccessFile类是一个随机访问类,可以写,但是要随机访问需要规定好长度)实例一(创建一个文件,如果这个文件之前存在则删除,否则新建):代码如下:public static void main(String args) File f=new File(c:iodemo1.txt);/注意使用/或者隔开tryif(f.exists()f.delete();elsef.createNewFile();catch(Exception e)e.printStackTrace();实例二:使用递归方法打印出给定目录下的文件名public static void main(String args) loop(c:/javademo);public static void loop(String dir)File f=new File(dir);/文件可以是一个目录String str=null;/构建一个字符数组来保存目录名和文件名if(f.isDirectory()str=f.list();/返回一个文件名和目录名组成的字符数组for(int i=0;istr.length;i+)loop(dir+/+stri);/递归执行数组中每一个字符串所组成的目录elseSystem.out.println(dir);2:字节流InputStream和OutputStream类(注意InputStream,OutputStream,Reader,Writer类都是抽象类,必须通过子类来实例化,比如想通过字节流向文件中打印一句话可以用FileOutputStream来实例化)操作方法:通过文件类File来找到一个文件用File类的对象去实例化InputStream和OutputStream的子类对象对文件进行读写操作关闭文件注意InputStream和OutputStream是字节操作,所有的数据都要用byte数组来操作。字节流没有使用缓存而字符流使用了缓存,所以字符流输出时如果不关闭则无法将内容写到文件。3:线程间的通信:管道流PipedOutputStream,PipedInputStream。在两个线程间可以通过一个PipedOutStream和一个PipedInputStream来进行通信。示例一:通过管道流实现线程间的通信代码如下:/定义一个发送者线程class Sender implements Runnable private PipedOutputStream out; public PipedOutputStream getOut() return out;public Sender()out=new PipedOutputStream();public void run() String str=兔兔;tryout.write(str.getBytes();out.close();catch(Exception e) e.printStackTrace();/定义一个接收者线程class Receiver implements Runnableprivate PipedInputStream in;public PipedInputStream getIn() return in;public Receiver()in=new PipedInputStream();public void run() byte buf=new byte1024;int len=0;try len=in.read(buf);/获得实际所读取内容的长度in.close(); catch (IOException e) e.printStackTrace();System.out.println(读取的内容是:+new String(buf,0,len);/把字节转化成字符串public class IODemo1 public static void main(String args) Sender sender=new Sender();Receiver receiver=new Receiver();Thread send=new Thread(sender);Thread receive=new Thread(receiver);PipedOutputStream out=sender.getOut();PipedInputStream in=receiver.getIn();t

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论