java 内存操作流ByteArrayOutputStream
来源:互联网 发布:淘宝如何转企业店铺 编辑:程序博客网 时间:2024/06/06 17:52
java 内存操作流主要有两个类ByteArrayOutputStream和 ByteArrayInputStream。
/*在内存中进行操作输入输出流,由此引发对多态的理解。*/import java.io.* ;public class ByteArrayDemo01{public static void main(String args[]) throws Exception{String str="AFASDFASFSADFAS";ByteArrayInputStream bis = null; //输入流ByteArrayOutputStream bos = null; //输出流bis = new ByteArrayInputStream(str.getBytes());bos = new ByteArrayOutputStream();int temp=0;while((temp=bis.read())!=-1){bos.write(Character.toLowerCase(temp));}bis.close();bos.close();System.out.println(bos.toString());/*char c='a';int i=c;System.out.println(i);*/}};对多态的理解:
java.lang.Object java.io.InputStream java.io.ByteArrayInputStream可以看出ByteArrayInputStream是InputStraem的子类,同一个父类下不同子类产生不同的操作,就是多态。上述代码可以换成这样:父类声明,new的时候new你想要的子类。
/*在内存中进行操作输入输出流,由此引发对多态的理解。*/import java.io.* ;public class ByteArrayDemo02{public static void main(String args[]) throws Exception{String str="AFASDFASFSADFAS";<span style="color:#ff0000;">InputStream </span>bis = null; //输入流<span style="color:#ff6666;">OutputStream</span> bos = null; //输出流bis = new ByteArrayInputStream(str.getBytes());bos = new ByteArrayOutputStream();int temp=0;while((temp=bis.read())!=-1){bos.write(Character.toLowerCase(temp));}bis.close();bos.close();System.out.println(bos.toString());/*char c='a';int i=c;System.out.println(i);*/}};
如下面另一个InputStream的子类的操作:
import java.io.File;import java.io.InputStream;import java.io.FileInputStream;/*问题:文件虽然读出来了,但是存在很多的空行,就是因为我们申请了1024的数组,但是实际的数据量没有那么大。解决看下一个。*/public class InputStreamDemo01{public static void main(String[] args)throws Exception{//第一步通过File类找到一个文件,如果文件不存在,自动创建File f = new File("d:"+File.separator+"test.txt");//第二部通过子类实例化父类对象,IutputStream是FileIutputStream的父类<span style="color:#ff0000;">InputStream input = null;input = new FileInputStream(f);</span>//第三部进行读写操作byte b[] = new byte[1024]; //所有内容都读取到这个数组中input.read(b);//关闭输入输出流input.close();//把byte数组变成字符串输出String str = new String(b);System.out.println("内容:"+str);}}完成了同一父类不同子类的操作。
最后补充: 在java中有三个类负责对字符的操作:Character、String、StringBuffer。其中,Character类是对单个字符进行操作,String是对一个字符序列的操作,StringBuffer是对一串字符进行操作。Character.toLowerCase(temp);是为了把temp代表的值转化成小写字母。
0 0
- java 内存操作流ByteArrayOutputStream
- Java IO--内存操作流ByteArrayInputStream/ByteArrayOutputStream
- java--内存流操作 ByteArrayInputStream ByteArrayOutputStream
- Java IO操作——内存操作流{ByteArrayInputStream、ByteArrayOutputStream)
- 【Java基础知识】IO流--内存操作流ByteArrayInputStream、ByteArrayOutputStream
- Java ByteArrayOutputStream 内存输出流
- 【Java.IO】I/O 字节处理流 - 之 - 内存(字节数组)操作流 - ByteArratInputStream,ByteArrayOutputStream
- Java操作字节数组的流ByteArrayInputStream与ByteArrayOutputStream
- java ByteArrayInputStream和ByteArrayOutputStream基本操作
- java读字节流ByteArrayOutputStream
- java其他流,SequenceInputStream,ByteArrayOutputStream
- Java I/O流-ByteArrayInputStream、ByteArrayOutputStream
- java学习总结之文件操作--ByteArrayOutputStream的用法
- I/O(七)内存流ByteArrayInputStream和ByteArrayOutputStream
- 操作数组的流 ByteArrayInputStream 和 ByteArrayOutputStream的简单介绍
- JAVA 内存操作流
- JAVA 内存操作流
- java 内存操作流
- opencv常用图像处理函数(C版本)
- 基于.Net的单点登录(SSO)解决方案
- jquery(六)jquery中事件详解
- B树、B-树、B+树、B*树
- SharePoint2013 Study Notes— How to Create a Event Receiver and Add Feature Event Receivers
- java 内存操作流ByteArrayOutputStream
- 什么是类的加载,何时加载
- [Android]TextView实现分散对齐(两端对齐)
- Matlab拟合好坏常用指标
- printf("%x,%x",ptr1[-1],*ptr2)的思考
- 使用3.0实现微信打飞机——11.分数排行榜的实现
- 展讯8825camera驱动流程
- 二叉搜索树(二叉查找树,二叉排序树)的详细实现
- iOS Auto Layout的使用