【问题标题】:how to get pipes data as string through pipedreader如何通过pipedreader将管道数据作为字符串获取
【发布时间】:2015-04-27 11:51:07
【问题描述】:

我正在用 java 构建一个管道和过滤器应用程序。

我正在通过 pipedWriter 编写一个字符串数组列表。我对如何通过 pipedReader 将数据作为字符串获取有点困惑。

我正在做的方式是获取字符,但我想以字符串的形式获取。

代码如下:

这是写的。列表是字符串。

for(String line : Filter1.list)
{
    myPw.write(line);
}

通过 pipedreader 获取数据:

while((name=(char) myPr.read())!= -1)
{
    System.out.println(name);
} 

我正在从中获取字符数据。不知道如何输入字符串

【问题讨论】:

    标签: java pipes-filters


    【解决方案1】:

    管道只是一个字节流,在 Reader/Writer 风格的情况下,它会自动解释为 chars 的流。如果你想用更复杂的结构来解释它,那么你必须在流中实现某种数据协议。

    例如,如果您发送的字符串肯定不包含换行符,那么通过换行符甚至回车符/换行符对来分隔字符串是很自然的。如果您需要在不关闭管道的情况下发出列表结束信号,那么您也需要一个标记。

    或者,您可以先发送一个数字,说明要接受多少个字符串,然后为每个字符串先发送长度,然后是字符。

    这个主题还有许多其他变体。

    在读取方面,您根据已建立的协议解释流内容,将读取的字符组合成字符串,并将字符串组合成列表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-15
      • 2015-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-15
      相关资源
      最近更新 更多