A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

对java中的流理解很吃力,谁能讲讲自己是怎么理解的?非常感谢

4 个回复

正序浏览
IO流用来处理设备之间的数据传输
Java对数据的操作是通过流的方式
Java用于操作流的对象都在IO包中
流按流向分为两种:输入流,输出流。
流按操作类型分为两种:字节流与字符流。  字节流可以操作任何数据,字符流只能操作纯字符数据,比较方便。
字符流读写文件
定义字符流关联指定文件
FileReader reader = new FileReader("Test.txt");
读取一个字符,返回int,该字符的码表值
int ch = reader.read();
关闭流,释放资源
reader.close();
定义字符输出流关联指定文件
FileWriter writer = new FileWriter("Test.txt");
写出一个字符,接收int码表值
writer.write(97);
关闭流,释放资源
writer.close();
注意事项
文件路径
定义文件路径时Windows中的目录符号为“\”,但这个符号在Java中是特殊字符,需要转义。
可以用“\\”或“/”表示。
读取文件
读取文件时必须保证文件存在,否则将抛出FileNotFoundException。
写出文件
写出时文件如不存在时程序会创建新文件,如文件已存在则会清空原文件内容重新写入。
如需追加内容可调用FileWriter构造函数FileWriter(String fileName, boolean append)




评分

参与人数 1技术分 +2 收起 理由
admin + 2

查看全部评分

回复 使用道具 举报
IO中的流就相当与我们日常生活中的管道,我们通过管道来把水引到用户,通过管道把石油输送到大罐.同样,我们利用流来从硬盘的文件中读数据到你的程序中,利用流来写数据到硬盘的文件
文件流 缓冲流 数据流 转换流 Print流 Object流正是为了实现这些功能的不同的类,他们具体包含了实现这些功能的方法
但如果每次都要从硬盘读取一个字节数据或写1个字节数据到硬盘,那就对硬盘损害太大了,比如电驴就损害硬盘.
解决办法:在内存中建立一个缓冲区(buffer),读一次硬盘就把缓冲区装满,然后你就可以从缓冲区读取数据,写数据的时候,先在内存中把数据写到缓冲区,写满,然后把数据一次性地从缓冲区写到硬盘.这样对硬盘的访问次数大大减少了.
缓存要交换的数据:就是读数据的时候把数据一次性读到缓冲区和写数据的时候先把数据写到缓冲区的意思
buffer是在内存中是通过字节数组实现的。

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
黑马谢承强 发表于 2011-11-22 09:19
http://cj1240.zhmy.com/archives/2008/148832.html其实这个总结的很好,先背下来,然后再去多练习 ...

谢谢!总结的很详细
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马