Java IO:网络

时间:2020-01-09 10:36:04  来源:igfitidea点击:

由于网络连接是数据的常见来源或者目的地,并且由于我们使用Java IO API通过网络连接进行通信,因此本文将简要介绍Java网络。

一旦在两个进程之间建立了网络连接,它们便会通过网络连接进行通信,就像处理文件一样:使用InputStream读取数据,而OutputStream写入数据。换句话说,虽然使用Java Networking API在进程之间建立网络连接,但是一旦建立了连接,就使用Java IO在进程之间交换数据。

基本上,这意味着如果我们具有能够将某些内容写入文件的代码,则可以轻松地将相同的内容写入网络连接。所需要做的就是编写组件依赖于OutputStream而不是FileOutputStream。由于FileOutputStream是OutputStream的子类,因此应该没问题。

实际上,从文件读取也是如此。能够从文件中读取某些数据的组件可以轻松地从网络连接中读取相同的数据。只要确保我们读取的组件依赖于" InputStream"来读取数据,而不是" FileInputStream"即可。

这是一个例子:

public class MyClass {
    

    public static void main(String[] args) {

        InputStream inputStream = new FileInputStream("c:\myfile.txt");
    
        process(inputStream);
    
    }
    

    public static void process(InputStream input) throws IOException {
        //do something with the InputStream
    }
}

在此示例中,process()方法无法查看作为参数获取的InputStream是来自文件系统还是来自网络(该示例仅显示文件系统版本)。 process()方法仅适用于InputStream。