5. Java IO: Networking

想要查看此教程的目录请点击:Java IO教程目录贴地址


Java网络相关的内容或多或少在此教程的范围之外。Java网络相关的更多细节在教程Java Networking Tutorial中。由于网络连接也是常见的数据源或数据目的地,同时也是你也会用Java IO的相关API通过网络连接进行通讯,所以这里会对Java网络进行简单的介绍。

当两个进程间通过建立网络连接进行通讯,这就像他们之间会用一个文件:使用InputStream去读取数据,再使用OutputStream去写出数据。也就是说,Java网络相关API用来在连个进程间建立网络连接,Java IO利用建立的网络连接做数据交互。

这主要意味着,如果你想把一些东西写入到文件中,那么把它写入到网络连接中也是一样简单的。无非就是把FileOutputStream替换成了OutputStream。由于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是从文件系统中还是网络连接读取来的数据(例子中紧紧是写成了从系统中读取的文件),这个方法仅仅是通过InputStream而已。

你可能感兴趣的:(5. Java IO: Networking)