Java IO 基础 之 网络(Networking)
Java 中网络细节内容有些超出了本 Java IO 基础的范畴。而 Java 网络相关的信息更多会在 Java网络教程 中探讨。但网络作为一个常见的数据来源以及数据流目的媒介,并且因为你使用 Java IO 的 API 通过网络连接进行通信,所以本文将简要的介绍 Java 网络的应用。
阅读文章的过程中如果有任何疑问,欢迎添加笔者为好友,拉您进【七日书摘】微信交流群,一起交流技术,一起打造高质量的职场技术交流圈子,抱团取暖,共同进步。
一旦在两个进程之间建立了网络连接之后,它们就会像处理文件一样通过网络连接进行通信:使用 InputStream 读取数据,使用 OutputStream 写入数据。换言之,Java 网络 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 进行操作。
------完------
推荐阅读:
参考资料:
https://blog.csdn.net/i_am_kop/article/details/78513802
http://ifeve.com/java-io-network/
当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »