Java的IO模型的特点是什么呢?
Java的IO模型的特点是什么呢?
Java的IO模型设计非常优秀,它使用Decorator模式,按功能划分Stream,您可以动态装配这些Stream,以便获得您需要的功能。例如,您需要一个具有缓冲的文件输入流,则应当组合使用FileInputStream和BufferedInputStream。
Java的IO体系分Input/Output和Reader/Writer两类,区别在于Reader/Writer在读写文本时能自动转换内码。基本上,所有的IO类都是配对的,即有XxxInput就有一个对应的XxxOutput。 Java IO教程 如果您对Decorator模式非常了解,就能轻易地看出Java的IO类结构:根接口是InputStream/OutputStream,充当数据源的IO类有FileInputStream/FileOutputStream,ByteArrayInputStream/ByteArrayOutputStream等,充当装饰功能的IO类有BufferedInputStream/BufferedOutputStream,DataInputStream/DataOutputStream等,它们都是继承装饰接口FilterInputStream/FilterOutputStream。
使用IO时,首先创建一个数据源IO,然后根据需要的功能创建装饰类IO,其构造函数的参数为已创建的数据源IO。我们以创建一个具有缓冲的文件输入流为例,假定需要从磁盘读取文件“C:\log。txt”: // 创建一个FileInputStream: FileInputStream fileInput = new FileInputStream("C:\\log。
txt"); // 创建一个BufferedInputStream: BufferedInputStream bufferedInput = new BufferedInputStream(fileInput); // 现在得到的bufferedInput即是具有缓冲的文件输入流 或者进一步简写如下: InputStream input = new BufferedInputStream( ew FileInputStream("C:\\log。
txt")); // 现在得到的input即是具有缓冲的文件输入流 在您对Java的IO有了总体了解后,我们推荐您看看教程Introduction to Java I/O和I/O: Reading and Writing。
答:Java信号量模型的工作方式如下:线程在运行的过程中,可以主动停下来,等待某个Java信号量模型的通知;这时候,该线程就进入到该信号量的待召(Waiting)队...详情>>