什么是输入/输出流?

时间:2014-02-08 06:26:13

标签: java stream

我已经编写了规范的代码,它必须能够从输入流中获取文本并通过输出流写出来。代码用于加密来自文件或输入用户的消息,并将其写入命令提示符或文件。一般类的输入/输出流如何处理这两件事,以及我给适合输入流和输出流规范的函数参数的参数类型是什么?

3 个答案:

答案 0 :(得分:0)

您的功能可能类似于:

public void encryptFile(String inFile, String outFile) {
   ...
}

public void encryptConsoleToFile(String outFile) {
   ...
}

或者我误解了你的问题?

答案 1 :(得分:0)

输入/输出流表示来自某个源的任何数据流,这些数据源要么进入您的代码,要么远离它。具体做法是:

输入流表示来自某些可以读取的源的数据,这是数据的生产者。是否知道数据长度取决于源。这方面的例子是输入流从文件(的FileInputStream的对象在Java),从网络,从现有的字节阵列(ByteArrayInputStream的)读读读等当经由输入流中读取一种用于例如将产生的数据文件,直到文件的末尾到达,而像正在进行的TCP连接之类的东西会产生数据,直到连接终止。

输出流的行为方式完全相同,只是用于将数据从程序写入目标目标。写入文件(FileOutputStream),写入TCP流,写入目标字节数组都是这样的例子。

所谓的输入/输出流规范直接与您正在读取/写入的源/目的地相关联。例如,在写入控制台时,您可以选择使用行缓冲,以便用户可以立即看到输出,而写入文件则可以使用更大的缓冲区来提高性能。

在java中,InputStreamOutputStream类定义了java中所有I / O流的基本规范。

答案 2 :(得分:0)

  

输入/输出流究竟是什么?

InputStreamOutputStream是两个独立的抽象类。我建议阅读并理解他们的文档。

  

输入/输出流的通用类如何处理这两种情况,以及我给适合输入流和输出流规范的函数的参数赋予什么类型的参数?

它们通常不是由同一个类实现的(因为它们是抽象类,所以不可能有一个类扩展它们)。输入有一个类层次结构,输出有另一个类层次结构。