JavaSE 高级 第10节 字节数组输出流ByteArrayOutputStream

2016-07-24

1,ByteArrayOutputStream

FileOutputStream 把文件作为写入的目的地

ByteArrayOutputStream 把字节数组作为写入的目的地

package com.java1995;

import java.io.BufferedInputStream;
import java.io.ByteArrayInputStream;
import java.io.IOException;

public class Test {

    public static void main(String[] args) {
        String str = "abcdefghijklmnopqrstuvwxyz";
        byte[] b = str.getBytes();

        ByteArrayInputStream bais = new ByteArrayInputStream(b);
        BufferedInputStream bis = new BufferedInputStream(bais);
        int temp = 0;
        try {
            temp = bis.read();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        int count = 0;
        while (temp != -1) {
            System.out.print((char) temp);
            try {
                temp = bis.read();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            System.out.println(count++);
        }
        System.out.println(count);

    }
}

package com.java1995;

import java.io.ByteArrayOutputStream;
import java.io.IOException;

public class TestByteArrayOutputStream {

    public static void main(String[] args) {
        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        String temp = "hello world hello everyone!";
        byte[] b = temp.getBytes();

        try {
            bos.write(b);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        System.out.println(bos.toString());

        byte[] b1 = bos.toByteArray();
        for (int i = 0; i < b1.length; i++) {
            System.out.print((char) b1[i]);

        }
    }
}

【参考资料】

[1] Java轻松入门经典教程【完整版】

时间: 2024-10-06 00:20:10

JavaSE 高级 第10节 字节数组输出流ByteArrayOutputStream的相关文章

JavaSE 高级 第09节 字节数组输入流ByteArrayInputStream

2016-07-24 1,ByteArrayInputStream FileInputStream的输入源是文件. ByteArrayInputStream的输入源是字节数组. reset() 重置到mark标记的位置,如果没有调用过mark方法, 则重置到缓冲区(ByteArray)的起始位置 mark(int) package com.java1995; import java.io.ByteArrayInputStream; public class TestByteArrayInputS

java _io_字节数组输出流

字节数组输出流,无需添加目的地,因为数据会被自动输入内存的缓冲区,需通过.toByteArray()或.toString()拿到数据因为需要使用子类ByteArrayOutputStream的新方法,所以不能写父类OutputStream对象ByteArrayOutputStream os=new ByteArrayOutputStream(); 因为数据写入了缓冲区,所以需要通过.toByteArray()和.toString()手动拿取 步骤:创建目的地字节数组(用来存放从缓冲区拿来的数据)

JavaSE 高级 第13节 字符输出流OutputStreamWriter

2016-07-24 Reader InputStreamReader Writer OutputStreamWriter package com.java1995; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; public class TestOutputStreamWri

JavaSE 高级 第08节 文件输出流FileOutputStream

2016-07-24 1,FileOutputStream 课下作业: 1.把英文字母换成中文. 2.用write(int b)方法来写.在用这个方法写的时候,试着用 中文来看看效果如何. package com.java1995; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class

JavaSE 高级 第06节 初识I、O流

2016-07-24 input  output 1,流的概念 输入流是读数据. 输出流是写数据. 输入输出的概念针对程序来说. 2,字节流 用于以字节为单位的输入输出,主要是处理字节或者二进制数据的各种输入输出. 一般用于处理图像.声音文件. InputStream 是所有字节输入流的祖先类. OutputStream 是所有字节输出流的祖先类. 3,字符流 以字符为基本处理的单位,主要用于处理字符或者是文本类型.一般用作处理文本 读取存储以及与网络的文本信息的交互. Reader 是所有字符

JavaSE 高级 第12节 字符输入流InputStreamReader

2016-07-24 Reader 1,InputStreamReader   字节流通向字符流的桥梁 FileInputStream fis=null; InputStreamReader isr=null; fis=new FileInputStream( "C:\\Users\\admin\\Desktop\\in.txt"); isr=new InputStreamReader(fis,"UTF-8"); package com.java1995; publ

JavaSE 高级 第07节 文件输入流FileInputStream

2016-07-24 InputStream 1,FileInputStream 因为字节流每次读取一个字节,而一个字节是无法完整的描述一个中文的, 所以会出现英文正常,中文乱码的情况. package com.java1995; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; public class TestFileInputStream { p

JavaSE 高级 第03节 Math类与猜数字游戏

2016-07-24 1,Math类介绍 Math.Random()  [0,1) 2,猜数字游戏 课下作业:猜数字小程序优化,增加次数限制的功能. package com.java1995; public class TestMath { public static void main(String[] args) { double d = Math.ceil(2.98); System.out.println(d); d = Math.floor(2.98); System.out.prin

JavaSE 高级 第15节 写文件类FileWriter

2016-07-24 FileReader 1,FileWriter 课下作业: c:\ 定义两个文件 in.txt,out.txt 然后,in.txt里面写入部分中文以及英文. 然后写程序读取in.txt的内容,写到out.txt里面. 规定:读文件的类必须是FileReader 写文件的类必须是FileWriter. package com.java1995; import java.io.FileWriter; import java.io.IOException; public clas