前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java中的字符和流

java中的字符和流

作者头像
付威
发布2018-12-05 11:34:03
7670
发布2018-12-05 11:34:03
举报

字节

用于计量存储容量的一种计量单位,通常情况下一字节等于八位, 也表示一些计算机编程语言中的数据类型和语言字符。

在计算机中,我们知道,所有的一切都是归根到底都是二进制的字节形式,包括文件,字符串等等。所以在写程序的时候,尝尝需要和字节打交道。

例如:我们需要把一个字符串写入到文本文件中,我们就需要借助字节这个中间的单位来进行处理。

	@Test
	public void stringToFile() throws Exception {
		String name = "Test";
		byte[] bytes = name.getBytes();
		FileOutputStream fileOutputStream = new FileOutputStream("D:/test.txt");
		fileOutputStream.write(bytes);
		fileOutputStream.close();
	}

当然同样的,从文件到字符串也是离不了字节这个单位:

    @Test
	public void fileToString() throws Exception {
		FileInputStream fileInputStream = new FileInputStream("D:/test.txt");
		byte[] inByte = new byte[100];
		fileInputStream.read(inByte);
		String str=new String(inByte);
		System.out.println(str);
	}

以上我们可以用下面的模型图来表示:

Java Stream模型
Java Stream模型

流是什么?

从上面的代码中,我们可以看到,有一个 FileInputStreamFileOutputStream这两个流的对象,对于这个对象我们怎么理解?

流是一个字节转移的介质,如同用吸管喝水,水是字节的集合的文件,吸管就是流。

输入流:顾名思义,就是从外界到程序中的介质。

输出流:对外界进行输出的介质

java 中常用的输入流和输出流:

Java Stream模型
Java Stream模型

字符流

什么是字符流?用什么用?

还是用喝水来说,我们怎么获得吸管里面水的属性?我们比如获得吸管中某一段水的重量怎么获得?

字符流是流的一种工具,是能够获得流中的单个字节单位的工具。

对应的是Reader和Writer.

我们可以把流转成Reader和Writer工具,来进行处理我们的文件和字节:

@Test
	public void streamWriteTest() throws Exception {
		FileInputStream fileInputStream = new FileInputStream("D:/test.txt");
		InputStreamReader reader = new InputStreamReader(fileInputStream);
		char[]  ch =new char[100];
		reader.read(ch);
		System.out.println(ch);
 
	}
	@Test
	public void streamTest() throws Exception {
		String str = "test";
		FileOutputStream fileOutputStream = new FileOutputStream("D:/Test.txt");
		OutputStreamWriter writer = new OutputStreamWriter(fileOutputStream);
		writer.write(str.toCharArray());
		writer.close();
		
	}

整个的过程入如下:

Java Stream模型
Java Stream模型

(本文完)

作者:老付 如果觉得对您有帮助,可以下方的订阅,或者选择右侧捐赠作者,如果有问题,请在捐赠后咨询,谢谢合作 如有任何知识产权、版权问题或理论错误,还请指正。 自由转载-非商用-非衍生-保持署名,请遵循:创意共享3.0许可证 交流请加群113249828:点击加群 或发我邮件 laofu_online@163.com

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-10-27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 字节
  • 流是什么?
  • 字符流
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档