ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

10、合并流、字符串流、管道流

2021-10-25 20:58:42  阅读:169  来源: 互联网

标签:StreamTokenizer 10 count 管道 线程 字符串 输入


10、合并流、字符串流、管道流

一、合并流

SequenceInputStream:表示其他输入流的逻辑串联,他的的输入流有序集合开始,并从一个输入流开始读取,直到到达文件末尾,接着从第二个输入流读取,直到包含的最后一个输入流文件末尾为止。

二、字符串流

1、StringRead
其源为一个字符串流
2、StringWrite
一个字符流,可以用其回收在字符串缓冲区的输出来构造字符串,关闭无效。此类中的方法在关闭该流后任被调用,而不会产生如何异常

三、管道流

管道输入流应该连接到管道输出流,管道输入流提供写入管道输出流的所有数据字节。通常,数据由某个线程从PipedInputStream对象读取,并由其他线程将其写入到相应的PipedoutputStream,不介意对这两个对象尝试用单个线程,因为这样可能会锁死线程,管道输入流包含一个缓冲区,可以在缓冲区限定的范围内将读操作和写操作分离开,如果向链接管道输出流提供数据字节的线程不存在,则认为该管道已损坏

import java.io.IOException;
import java.io.StreamTokenizer;
import java.io.StringReader;

/*
 * 字符串流:以一个字符串流为数据源,来构造一个字符流
 * 作用。在WEB开发中。我们经常要从服务器上获取数据,数据的方法返回格式通过一个字符串(XML,JSON),我们需要把这个字符串构造成一个字符流
 * 然后在用第三方的数据解析器来解析数据
 */

public class StringStreamDemo {
	
	public static void stringStream() {
		String info="good good study day day up";
		StringReader sr=new StringReader(info);
		//流表记器
		StreamTokenizer st=new StreamTokenizer(sr);
		
		int count =0;
		while(st.ttype!=StreamTokenizer.TT_EOF) {//指示已读到流末尾的常量。
			try {
				if(st.nextToken()==StreamTokenizer.TT_WORD) {
					count++;
				}
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		System.out.println(count);
	}

	public static void main(String[] args) {

		stringStream();
	}

}

6

标签:StreamTokenizer,10,count,管道,线程,字符串,输入
来源: https://blog.csdn.net/weixin_53330986/article/details/120958945

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有