java中的流

	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一个字符一个字符的写

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值