Java输入数据流详解

来源:java认证发布时间:2012-11-12 13:06:06java认证视频

  Java输入数据流
  在Java中,我们把能够读取一个字节序列的对象称作一个Java输入数据流;而我们把够写一个字节序列称作一个输出流。它们分别由抽象类 InputStream和OutputStream类表示。因为面向字节的流不方便用来处理存储为Unicode(每个字符使用两个字节)的信息。所以Java 引入了用来处理Unicode字符的类层次,这些类派生自抽象类Reader和Writer,它们用于读写双字节的Unicode字符,而不是单字节字符。
  Java.io包简介
  JDK标准帮助文档是这样解释Java.io包的,通过数据流、序列和文件系统为系统提供输入输出。
  InputStream类和OutputStream类
  InputStream类是所有输入数据流的父类,它是一个抽象类,定义了所有Java输入数据流都具有的共通特性。
  java.io.InputStream的方法如下:
  public abstract read()throws IOException
  读取一个字节并返回该字节,如果到输入源的末则返回-1.一个具体的Java输入数据流需要重载此方法,以提供 有用的功能。例如:在FileInputStream类中,该方法从一个文件读取一个字节。
  public int read(byte[] b)throws IOException
  把数据读入到一个字节数据中,并返回实际读取的字节数目。如果遇到流末 则返回-1,该方法最多读取b.length个字节。
  public abstract int read(byte[] b,int off,int len)throws IOException
  把数据读入到一个字节数组中并返回实际读取的字节数目。如果遇到流的末尾则的返回-1. 其中参数off表示第一个字节在b中的位置,len表示读取的最大字节数。
  public long skip(long n)throws IOException
  略过N个字节不读取,会返回实际略过的字节数目。因为数据流中剩下的数据可能不到N 个字节那么多,所以此时返回值会小于N.
  public int available()throws IOException
  read方法(包括后面要讲的OutputStream类的Write方法)都能够阴塞一个线程,直到字节被 实际读取或写入。这意味着如果一个流不能立即被读或被写
  /*
  * Created on 2005-3-10
  * To change the template for this generated file go to
  * Window>Preferences>Java>Code Generation>Code and Comments
  */
  package mytestfiles;
  import java.io.BufferedReader;
  import java.io.File;
  import java.io.FileReader;
  import java.io.FileWriter;
  import java.io.IOException;
  import java.io.PrintWriter;
  /**
  * To change the template for this generated type comment go to
  * Window>Preferences>Java>Code Generation>Code and Comments
  */
  public class Files
  {
  public static void main(String[] args) throws IOException
  {
  Files f = new Files();
  // System.out.println(f.readFile("f://LinkFile.java"));
  // f.readAllFile("f://","LinkFile.java");
  // f.readLineFile("f://","LinkFile.java");
  // System.out.println(f.fileIsNull("f://","122.txt"));
  // f.readFolderByFile("F://PDF");
  // System.out.println(f.createAndDeleteFolder("ss","f://"));
  // System.out.println(f.createAndDeleteFile("f://ss//","TestFile.dat"));
  String[] ss = new String[50];
  for(int i=0;i{
  ss[i] = "信息技术和互联网(计算机软硬件,通讯) "+i;
  }
  f.writeFile("f://ss//","TestFile.txt",ss);
  }
  /**
  * 文件的写入
  * @param filePath(文件路径)
  * @param fileName(文件名)
  * @param args[]
  * @throws IOException
  */

上一页1234下一页

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答