易截截图软件、单文件、免安装、纯绿色、仅160KB

浅谈java输入输出流

本文转自:http://cyp-034.blog.163.com/blog/static/2823190520074691849380/
stream
代表的是任何有能力产出数据的数据源,或是任何有能力接收数据的接收源。在Java的IO中,所有的stream(包括Inputstream和
Out stream)都包括两种类型:
(1)字节流
 
表示以字节为单位从stream中读取或往stream中写入信息,即io包中的inputstream类和outputstream类的派生类。通常用
来读取二进制数据,如图象和声音。
(2)字符流
以Unicode字符为导向的stream,表示以Unicode字符为单位从stream
中读取或往stream中写入信息。
区别:
Reader和Writer要解决的,最主要的问题就是国际化。原先的I/O类库只支持8位
的字节流,因此不可能很好地处理16位的Unicode字符流。Unicode是国际化的字符集(更何况Java内置的char就是16位的
Unicode字符),这样加了Reader和Writer之后,所有的I/O就都支持Unicode了。此外新类库的性能也比旧的好。
但是,Read和Write并不是取代InputStream和OutputStream,
有时,你还必须同时使用"基于byte的类"和"基于字符的类"。为此,它还提供了两个"适配器(adapter)"类。
InputStreamReader负责将InputStream转化成Reader,而OutputStreamWriter则将
OutputStream转化成Writer。
一.流的层次结构
定义:
(1)      
java将读取数据对象成为输入流,能向其写入的对象叫输出流。结构图如下:输入流:
输出流
二.InputStream类
inputstream类和outputstream类都为抽象类,不能创建对象,可以通过
子类来实例化。
InputStream是输入字节数据用的类,所以InputStream类提供了3种重载
的read方法.Inputstream类中的常用方法:
(1)       public abstract int read(
):读取一个byte的数据,返回值是高位补0的int类型值。
 
(2)       public int read(byte  b[
]):读取b.length个字节的数据放到b数组中。返回值是读取的字节数。该方法实际上是调用下一个方法实现的
 
(3)       public int read(byte  b[ ], int 
off, int  len):从输入流中最多读取len个字节的数据,存放到偏移量为off的b数组中。
 
(4)       public int available(
)


相关文档:

常见的java排序

import java.util.Arrays;
public class Sort {
 
 //冒泡排序(从头到尾排)
 public static void bubbleSort(int[] arrays)
 {
  //第一次循环从第一个元素开始,到倒数第二个元素
  for(int i=0;i<arrays.length-1;i++)
  {
   for(int j=1 ......

为什么如此获取Java数组的长度

记得vamcily 曾问我:“为什么获取数组的长度用.length(成员变量的形式),而获取String的长度用.length()(成员方法的形式)?”
我当时一听,觉得问得很有道理。做同样一件事情,为什么采用两种风格迥异的风格呢?况且,Java中的数组其实是完备(full-fledged)的对象,直接暴露成员变量,可能不是一种很OO的风格。 ......

java 虚拟机运行时数据区域 Runtime Data Areas

The Java virtual machine defines various runtime data areas that are used during execution of a program. Some of these data areas are created on Java virtual machine start-up and are destroyed only when the Java virtual machine exits. Other data areas are per thread. Per-thread data areas are create ......

Java内部类访问外部对象的方法

  Java编程时,为类DialogTry2添加关闭窗口事件,我在构造方法中采用事件适配器来实现:
    this.addWindowListener(new WindowAdapter(){
        public void windowClosing(WindowEvent e){
          &nbs ......

Java类被加载时执行的顺序问题

public class Parent
{
    //1
    static int a =  1;
    //2
    static
    {
        a = 10;
        System.out.println("parent static c ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号