javaIO流, 个人理解.doc_第1页
javaIO流, 个人理解.doc_第2页
javaIO流, 个人理解.doc_第3页
javaIO流, 个人理解.doc_第4页
javaIO流, 个人理解.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

下边我只总结流知识点常用的一些方法和例子 希望对大家有用System.out -把输出送到缺省的显示(通常是显示器)System.in -把标准输入获取输入(通常是键盘)P1:public class io1 public static void main(String args) char inchar;System.out.println(请输入一个字符:);try inchar = (char) System.in.read();System.out.println(您输入的字符是:+inchar); catch (IOException e) System.out.println(操作失败);P2:import java.io.*;public class io2public static void main(String args)try byte bArray=new byte128; System.out.println(Enter something:); System.in.read(bArray); System.out.print(You entered:); System.out.println(bArray);catch(IOException ioe)System.out.println(ioe.toString();/这个程序输出的是乱码,正确解释应该是他输出的是你这个数组的地址 改进:将字符数组变换成字符串原来是:System.out.println(bArray);现在为:String s=new String(bArray,0); /这个方法已经不支持再用 System.out.println(s); System.in是属于BufferedInputStream类型System.out是属于PrintStream类型System.err也是属于PrintStream类型Java中每一种流的基本功能依赖于基本类InputStream和OutputStream它们是抽象类,不能直接使用属于InputStream类的方法有:read():从流中读入数据skip():跳过流中若干字节数available():返回流中可用字节数mark():在流中标记一个位置reset():返回标记过得位置markSupport():是否支持标记和复位操作close():关闭流InputStream -方法read() 提供了三种从流中读数据的方法1. in read(); 读一个整数2. in read(byte b) 读取多个字节到数组中3. in read(byte, in off, int len); int off 是表示从被读取对象的哪个位置开始读取,int len 是 读取多少长度。4. read():从流中读入数据5. skip():跳过流中若干字节数6. available():返回流中可用字节数7. mark():在流中标记一个位置8. reset():返回标记过得位置9. markSupport():是否支持标记和复位操作10. close():关闭流OutputStream -1. write(int b):将一个整数输出到流中2. write(byte b):将数组中的数据输出到流中3. write(byte b, int off,int len):将数组b中从off指定的位置开始len长度的数据输出到流中4. flush():将缓冲区中的数据强制送出5. close():关闭流.PrintStream 类-1. Println() 能提供很复杂的输出2. println(String s), println(char c)等File文件对象的建立File f = new File(“test.txt”);FileInputStream类用来打开一个输入文件FileOutputStream类用来打开一个输出文件输入输出 是相对于内存 相对于程序来说的。 这点是最容易让人迷糊的地方文件流的建立FileInputStream in = new FileInputStream(fp);FileOutputStream out = new FileOutputStream(fp);P1:public class io3 public static void main(String args) File inFile = new File(E:/a.txt);File outFile =new File(E:/b.txt);try FileInputStream fis = new FileInputStream(inFile);FileOutputStream fos = new FileOutputStream(outFile);int s;while(s=fis.read()!=-1)fos.write(s);fis.close();e1.printStackTrace();增加缓冲区流,减少访问硬盘的次数,提高效率缓冲区流BufferedInputStream和BufferedOutputStream将他们与文件流相接FileInputStream in=new FileInputStream(“file1.txt”);BufferedInputStream bin= new BufferedInputStream(in,256) int len;byte bArray=new byte256;len=bin.read(bArray);len中得到是长度, bArray中得到的是数据只有缓冲区满时,才会将数据送到输出流.Java在输出数据流中,当对方尚未将数据取走时,程序就会被阻塞.有时要人为地将尚未填满的缓冲区中的数据送出,使用flush()方法.那么到底什么时候需要数据输入输出流?文件流和缓冲区流的处理对象是字节或字节数组,利用数据输入输出流可以实现对文件的不同数据类型的读写.DataInputStream、DataOutputStream一种较为高级的数据输入输出方式,除了字节和字节数组,还可以处理int,float,boolean等类型.还可以用readLine方法读取一行信息可使用的方法:write,writeBoolean,read,readByte等FileOutputStream fos = new FileOutputStream(”file2.txt);DataInputStream dis = new DataInputStream(fos)运用FileInputStream和FileOutputStream类读写文本文件运用BufferedReader和BufferedWriter类读写文本文件运用DataInputStream和DataOutputStream类 读写二进制文件字节流 8 位 InputStream OutputStream字符流 16 位 Unicode Reader Writerq 文本文件的读写q 用FileInputStream读文本文件q 用FileOutputStream写文本文件q 用BufferedReader读文本文件q 用BufferedWriter写文本文件q 构造一个文件输入流对象 InputStream fileobject = new FileInputStream(“text.txt”); q 利用文件输入流类的方法读取文本文件的数据fileobject.available(); /可读取的(字节数)fileobject.read(); /读取文件的(数据) q 关闭文件输入流对象 fileobject.close();P1:public static void main(String args) throws Exception int size; InputStream is = new FileInputStream(G:/a.txt); System.out.println(这个文本文件可读取的字节数是: +(size = is.available(); char by = new char200; for(int i = 0;i 数据输入输出流文件流和缓冲区流的处理对象是字节或者字节数组,利用数据输入输出流可以实现对文件的不同数据类型的读写除了高级的字节和字节数组,还可以处理int、 float、boolean等类型还可以用readLine方法读取一行的数据理解File类用于访问文件系统流是指一连串流动的字符,是以先进先出的方式发送信息通道流可以分为输入输出流,也可以分为字节流和字符流运用FileInputStream

温馨提示

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

最新文档

评论

0/150

提交评论