java.io包难吗?2008-04-03 16:58java的io包很难吗?有人会说很难,一个拥有六七十个类的包,每个类里面又有大量的方法,确实是一个复杂的包,但是结构还算是非常清晰的,我们先
看看以下几个类,并把主要作用说一下:
1 OutputStream
2 InputStream
3 Reader
4 Writer
5 File
这几个类我们不看API都应该知道是什么意思,哪怕你没有过四级。File,当然是关于文件的类,文件的地址,文件的名称,文件的父目录,文件的子目录
……自己到api里面看看吧,反正一般的文件属性File类都提供的查看和操作的方法。
OutputStream,InputStream:输入输出流,很多人都讨厌java的io包绝大多数是因为这两个东西,开始我也挺讨厌的,输入输出经常搞混。特别是原来从
c学起的人更是搞不清,我开始认为输出吗,当然就是文件输出了,也就是读文件;输入就是向文件中输入,也就是写文件!大错特错,恰恰相反,正确的
是输入代表读文件,输出代表写文件。看样子java的前辈们都是逆向思维!不是的,这里是我们没有理解流的概念,流,像水流,我们的程序像一个水站
,没水了抽点水,有水了放点水,而文件就是长江黄河。我们从长江中抽了水(输入流),把水中加点盐搁点酒(操作),然后再把水(输出流)放到黄
河中去。好了,没明白的现在应该明白了,java所谓的流是相对于水站(程序),进水站(程序)的流叫做输入流,出水站(程序)的流叫做输出流,明
明白白,非常清晰吧!大家可能会问那么长江和黄河是什么,长江和黄河当然是有水或可以存水还或者创造水的地方:键盘,文件,网络端口,显示屏…
…至于那些可以做为输入流的始点还是输出流的终点(当然输入流的终点和输出流的始点都是水站)就看大家自己来判断,如果什么时候输出流的终点是
键盘的话要告诉我哦!!
Writer,Reader:写者和读者,有了流的概念,这两个家伙我们就比较好处理了,他们是一个养鱼的,一个抓鱼的 ,不过他们的本领要大一些,养鱼抓鱼
都得要水啊!鱼在水里,所以他们首先的任务是找到水 。他们可以从其他地方搞到水后来水站,Reader的儿子InputStreamReader可以从长江中(输入流
)中搞到水来,当然可以了!站在水站中不用动,长江水就来了。Reader的孙子FileReader更牛一些。它可以从淮河里搞到水,甚至你给他一个淮河的地
址,他就屁癫屁癫的就跑去了搞水了:FileReader fr=new FileReader("E://text.txt")搞到水后他们就开始放鱼的放鱼,抓鱼的抓鱼,但是他们的子
孙却各有神通,抓鱼的大小,方式各不相同。
例子:
A FileReader reader = new FileReader("e://text.txt");
BufferedReader br = new BufferedReader(reader);
String s1 =new String();
while((s1 = br.readLine()) != null){
list.add(s1);
}
br.close();
reader.close();
return doList(list);
}catch(Exception e){
e.printStackTrace();
return null;
}
}
reader 找来了水,让 br抓, br可以一行一行的抓鱼,比FileReader快的多
B FileWriter fw=new FileWriter("E://text.txt")
fw.writer("hello world!")
fw 找到了养鱼的水潭,然后放了一条“hello world”的鱼
C System.out.println("helloworld!")
一个“helloworld”的输出水流流到了显示器上
D System.in.read(byte[])
一个键盘的输入流流到了程序中的byte[]中了
其他的一大堆类就是这五个类的子子孙孙,都有老祖宗的血脉,又有自己的绝活!!!
分享到:
相关推荐
专业的课程讲解 所有的程序都离不开信息的输入和输出。例如,从键盘读取数据、在网络上交换数据、打印报表、读写文件信息等,都要涉及数据输入输出的处理。...在Java中,处理数据流的类主要被放在java.io包中 。
java.io包详细解说,讲得很详细 同类文档:Java-从Decorator,Adapter模式看Java IO库,已上传
gnu.io.CommDriver.class gnu.io.CommPort.class gnu.io.CommPortEnumerator.class gnu.io.CommPortIdentifier.class gnu.io.CommPortOwnershipListener.class gnu.io.Configure.class gnu.io.I2C.class gnu.io.I2...
了解java.io包 运用File类对文件或目录的属性进行操作 理解流,理解输入/输出流的概念 运用FileInputStream类和FileOutputStream类读/写字节文件 运用FileReader类和FileWriter类配合BufferedReader类和...
串口通讯需要的jar包,gnu.io.SerialPort; gnu.io.CommPortIdentifier; gnu.io.SerialPort; gnu.io.SerialPortEvent; gnu.io.SerialPortEventListener; gnu.io.UnsupportedCommOperationException; Copy RXTXcomm...
串口通信gnu.io包不存在,这里提供jar包,下载导入即可,亲测可用
使用Date 类获取系统当前时间 Calendar类的使用 使用 Random 类的对象生成随机数 Collection 类的对象的使用 HashMap 对象以键和值的关系形式存储数据
网上找来了相关java文件,改文件包主要用于解决类似找不到sun.io.CharToByteConverter类及相关方法情况,放到对应引用文件目录下编译即可。 PS:java文件编码格式为UTF-8,如果有其它编码格式,自己调整一下就行,我...
socket.io,socket.io-client 用于java或android连接nodejs websocket
开发java时,使用的一个引用包,平时dos中测试开发小程序时,可能缺少;
org.apache.commons.io的jar包集合,少了啥欢迎补充
用java写socket.io客户端所需jar包,
这是学Java的时候教程上的习题,上传供大家学习学习,希望大家上传更多的资源
git下载的最新的socket.io,已通过ant打包成jar,https://github.com/Gottox/socket.io-java-client, 大家也可以通过这个链接自己下载
java的jdk源码解析,主要解析io、nio相关的类组织结构图
本资源具体讲述了java io包的使用及分类,本人感觉相比其它教程还是比较出色的,本人亲身体验过,肯定不欺骗,希望大家多多支持,踊跃留言
处于开发阶段,jsp使用SQL Server 2000数据库驱动包"java.util.*,java.io.*,com.student.bean.*,com.student.encrypt.*,com.student.jdbc.*;"%>
import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.io.UnsupportedEncodingException; import ...
该存储库包含用Java语言编写的Socket.IO客户端实现。 如果您不了解socket.io,则它基本上是一个旨在提供实时,双向和基于事件的通信的框架。 您可以访问以了解更多信息。 安装 您可以使用以下方法安装该库: Maven ...