Java IO ByteArrayInputStream和ByteArrayOutputStream
来源:互联网 发布:阿里云视频点播 编辑:程序博客网 时间:2024/05/21 17:02
ByteArrayInputStream是字节数组输入流。它继承于InputStream。它包含一个内部缓冲区,该缓冲区包含从流中读取的字节;通俗点说,它的内部缓冲区就是一个字节数组,而ByteArrayInputStream本质就是通过字节数组来实现的。ByteArrayInputStream 的内部额外的定义了一个计数器,它被用来跟踪 read() 方法要读取的下一个字节。关闭 ByteArrayInputStream 无效。此类中的方法在关闭此流后仍可被调用,而不会产生任何 IOException。
例子:
public static void main(String[] args) throws Exception{ String tempStr="ASDASXXAS"; ByteArrayInputStream byteArrayInputStream=new ByteArrayInputStream(tempStr.getBytes()); ByteArrayOutputStream byteArrayOutputStream=new ByteArrayOutputStream(); int temp; while ((temp=byteArrayInputStream.read())!=-1){ char c= (char) temp; byteArrayOutputStream.write(Character.toLowerCase(c)); } byteArrayInputStream.close(); byteArrayOutputStream.close(); System.out.println(byteArrayOutputStream.toString()); }
ByteArrayOutputStream 是字节数组输出流。它继承于OutputStream。
ByteArrayOutputStream 中的数据被写入一个 byte 数组。缓冲区会随着数据的不断写入而自动增长。可使用 toByteArray() 和 toString() 获取数据。
例子:
private static void test2() throws IOException { String tempStr = "ASDASXXAS"; ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(tempStr.getBytes()); ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); int temp; while ((temp = byteArrayInputStream.read()) != -1) { char c = (char) temp; byteArrayOutputStream.write(Character.toLowerCase(c)); } byteArrayInputStream.close(); byteArrayOutputStream.close(); System.out.println(byteArrayOutputStream.toString()); // 计算长度 int size = byteArrayOutputStream.size(); System.out.printf("size=%s\n", size); // 转换成byte[]数组 byte[] buf = byteArrayOutputStream.toByteArray(); String str = new String(buf); System.out.printf("str=%s\n", str); // 转换成byte[]数组 String str2 = byteArrayOutputStream.toString(); System.out.printf("byteArrayOutputStream=%s\n", str2); // 将byteArrayOutputStream写入到另一个输出流baos中 try { ByteArrayOutputStream baos = new ByteArrayOutputStream(); byteArrayOutputStream.writeTo(baos); System.out.printf("baos=%s\n", baos); } catch (IOException e) { e.printStackTrace(); } }
0 0
- Java IO ByteArrayInputStream和ByteArrayOutputStream
- Java IO - ByteArrayInputStream&ByteArrayOutputStream
- JAVA IO系列----ByteArrayInputStream和ByteArrayOutputStream类
- 17.Java IO: ByteArrayInputStream && ByteArrayOutputStream
- java IO笔记(ByteArrayInputStream/ByteArrayOutputStream)
- JDK 1.7 java.io 源码学习之ByteArrayInputStream和ByteArrayOutputStream
- Java IO 系列源码分析——ByteArrayInputStream和ByteArrayOutputStream
- Java IO--内存操作流ByteArrayInputStream/ByteArrayOutputStream
- java的BytearrayInputStream和BytearrayOutputStream的讲解
- java中ByteArrayInputStream和ByteArrayOutputStream类用法
- java ByteArrayInputStream和ByteArrayOutputStream基本操作
- JAVA中ByteArrayInputStream和ByteArrayOutputStream详解
- Java IO流 ByteArrayInPutStream类和ByteArrayOutPutStream类 CharArrayReader类和CharArrayWriter类
- java io流 DataOutputStream和DataInputStream类、ByteArrayOutputStream和ByteArrayInputStream详解
- 黑马程序员——Java IO—字节流—ByteArrayInputStream和ByteArrayOutputStream
- java.ByteArrayInputStream-ByteArrayOutputStream
- java.ByteArrayInputStream-ByteArrayOutputStream
- java.ByteArrayInputStream-ByteArrayOutputStream
- 【WebService学习过程记录(三)】XFire开发Web Service---HelloWord
- 进程地址空间
- matlab中神经网络工具箱函数汇总
- 数组排序 iOS
- 马尔可夫模型学习
- Java IO ByteArrayInputStream和ByteArrayOutputStream
- Codeforces Round #332 (Div. 2)C. Day at the Beach
- Oracle数据库的学习(一)
- java中的分布式应用(一)之分布式介绍
- Java实现快速排序(泛型)
- LeetCode 338. Counting Bits
- Ubuntu服务器的NVIDIA驱动自动更新所引起的问题及解决方法m
- 笔记--ThinkPHP运行流程
- 正则表达式