想要查看此教程的目录请点击: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而已。