Java基础IO类之字节数组流

package IODemo;

//字节数组流  :内部维护这着一个字节数组,我们可以利用流的读取机制来处理字符串 无需关闭,不会报IO异常
// ByteArrayInputstream   ByteArrayOutputStream

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;

public class byteArraySteamDemo {

    private static void byteArray(){
        String str = "  qwefasdfasLJSJFLAKSJDOFA!@$#^%%*()";
        //相当于把 str 转成字节 放入ByteArrayInputStream中
        ByteArrayInputStream bis = new ByteArrayInputStream(str.getBytes());
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        int curr = -1; //每次处理的字节
        while ((curr = bis.read())!=-1){
            //  ASCII表中 65-90 是大写字母 97-122 表示小写字母
            if ((curr>=65 && curr<=90) || curr >=97 && curr<=122 ){
                //把字节写到里面
                baos.write(curr);
            }
        }
        //无需关闭,原因:字节数组流是基于内存的操作流 ,与文件没有关系
        System.out.println(baos.toString());

    }

    public static void main(String[] args) {
        byteArray();

    }
}

 

package IODemo;

//字节数组流 :内部维护这着一个字节数组,我们可以利用流的读取机制来处理字符串 无需关闭,不会报IO异常
// ByteArrayInputstream ByteArrayOutputStream

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;

public class byteArraySteamDemo {

private static void byteArray(){
String str = " qwefasdfasLJSJFLAKSJDOFA!@$#^%%*()";
//相当于把 str 转成字节 放入ByteArrayInputStream中
ByteArrayInputStream bis = new ByteArrayInputStream(str.getBytes());
ByteArrayOutputStream baos = new ByteArrayOutputStream();
int curr = -1; //每次处理的字节
while ((curr = bis.read())!=-1){
// ASCII表中 65-90 是大写字母 97-122 表示小写字母
if ((curr>=65 && curr<=90) || curr >=97 && curr<=122 ){
//把字节写到里面
baos.write(curr);
}
}
//无需关闭,原因:字节数组流是基于内存的操作流 ,与文件没有关系
System.out.println(baos.toString());

}

public static void main(String[] args) {
byteArray();

}
}
posted @ 2019-12-04 22:19  Mr.落魄书生  阅读(397)  评论(0编辑  收藏  举报