java中的流

来源:互联网 发布:网络认识了你歌曲下载 编辑:程序博客网 时间:2024/05/22 10:23
public static void main(String[] args) {String str = "abcdefg";/* * 输入流,很多之类可以参考http://www.javaweb.cc/JavaAPI1.6/ 通过一个字符串构造 */InputStream inputStream = new ByteArrayInputStream(str.getBytes());// 初始化一个OutputStream之类ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();try {int i = 0;// 通过byte来装inputStream的内容,注意其大小byte[] b = new byte[2];while ((i = inputStream.read(b)) != -1) {/** * 循环读取内容,并记录读取的长度 byteArrayOutputStream.write(b)区别 * 当最后一次的时候,可能只读取了一个字符,但是直接write会导致最后一次同样会写2个字符,导致最终结果为abcdefgf * 所以最好是指明其write的大小 */byteArrayOutputStream.write(b, 0, i);}} catch (Exception e) {}// 直接转换为字符串String out = byteArrayOutputStream.toString();int len = out.length();System.out.println(out);System.out.println(len);}


public static void main(String[] args) {String str = "abcdefg";/* * 输入流,很多之类可以参考http://www.javaweb.cc/JavaAPI1.6/ 通过一个字符串构造 */InputStream inputStream = new ByteArrayInputStream(str.getBytes());// 初始化一个OutputStream之类ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();try {int i = 0;// 通过byte来装inputStream的内容,注意其大小byte[] b = new byte[1024];while ((i = inputStream.read(b)) != -1) {/** * 循环读取内容,并记录读取的长度 byteArrayOutputStream.write(b)区别 * 当最后一次的时候,可能只读取了一个字符,但是直接write会导致最后一次同样会写2个字符,导致最终结果为abcdefgf * 所以最好是指明其write的大小 */byteArrayOutputStream.write(b);}} catch (Exception e) {}// 直接转换为字符串String out = byteArrayOutputStream.toString();int len = out.length();System.out.println(out);System.out.println(len);}

这里的byte是1024字节,结果是长度变成了1024,因为byte构造出来就是有1024位,只是前面被读了7位,后面都是空的,所以最好

String out = byteArrayOutputStream.toString().trim();


public static void main(String[] args) {String str = "abcdefg";/* * 输入流,很多之类可以参考http://www.javaweb.cc/JavaAPI1.6/ 通过一个字符串构造 */InputStream inputStream = new ByteArrayInputStream(str.getBytes());// 初始化一个OutputStream之类ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();try {int i = 0;while ((i = inputStream.read()) != -1) {byteArrayOutputStream.write(i);}} catch (Exception e) {}// 直接转换为字符串String out = byteArrayOutputStream.toString();int len = out.length();System.out.println(out);System.out.println(len);}

这种方法直接通过int一个字符一个字符的写

0 0
原创粉丝点击