java自学日记二
2014-12-17 12:06
190 查看
java基础之IO流
一、简述
· IO流是用来处理设备间的数据传输
· Java对数据的操作是通过流的方式
· Java用于操作流的对象都在IO包中
· IO流按操作数据分为两种:字节流与字符流。
· IO流按照流的方向分为:输入流与输出流。
二、常用的基本类型
1.字节流的抽象基类
inputStream ,outputStream
2.字符流的抽象基类
Reader , Writer
注意:由这四个类派生出来的子类名称都是以其父类名作为子类名的后缀。
例如:InputStream的子类 FileInputStream
Reader的子类 FileReader
三、具体用法:
1. 如何将数据写入文件中
说明(FileWriter的引入):
由于最常见的数据表现形式是文件,所以找到一个专门用于操作文件的Writer子类对象----FileWriter。它的后 缀是父类名,前缀是功能名。
由于输入的过程中,文件名有可能输入错误,可能出现异常就要抛异常。
写入文件的步骤:
第一步:创建一个FileWriter对象,该对象一被初始化就必须要有被操作的文件;该文件会被创建在被 指定的目录下,如果该目录下有同名文件就会被覆盖
第二步:调用Writer方法将字符串写入流中
第三步:刷新流中的缓冲数据;采用flush方法
第四步:关闭流资源,但是在关闭之前会刷新一次流中的数据,刷至文件中
注意:关闭流资源后不能再刷新,而采用flush刷新后还可以使用流资源;
IO的异常处理通过try-catch来进行捕获,finally语句中要是必须要处理的
东西,即释放内存资源等。
代码示例:
![](https://img-blog.csdn.net/20141217140335115?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGl1aHVhYmluZzc2MDU5NjEwMw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
2.异常处理:
由于会出现文件不存在或文件名输入错误的异常情况,因此要对异常作一些处理。
代码示例:
![](https://img-blog.csdn.net/20141217140840750?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGl1aHVhYmluZzc2MDU5NjEwMw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
3.文件内容的续写:
思路:文件要续写得从FileWriter类入手,找其里面有没有方法。
![](https://img-blog.csdn.net/20141217140940202?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGl1aHVhYmluZzc2MDU5NjEwMw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
4.文件内容的读取
文件的读取方法有两种:
读取方式一:int read();该方法是一次只返回一个字符;
代码示例:
![](https://img-blog.csdn.net/20141217174621031?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGl1aHVhYmluZzc2MDU5NjEwMw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
读取方式二:int read(char[] cbuf);方法是每次读满一个数组,然后输出;它的返回值是读取的字符数;
代码示例:
代码中如果打印数组的话,在最后如果数组没满的话,打印出来的不仅仅是读取的那个,还有原来的那些没被替代的。
![](https://img-blog.csdn.net/20141217185030291?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGl1aHVhYmluZzc2MDU5NjEwMw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
5.文件的拷贝
思路:1.先创建一个文件,来存储;
2.定义读取流,从源文件中读取出来;同时就边读边写,建立起两个文件间的关联;
3.关闭资源;
代码示例 :
方法一:
![](https://img-blog.csdn.net/20141217223512734?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGl1aHVhYmluZzc2MDU5NjEwMw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20141217223526687?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGl1aHVhYmluZzc2MDU5NjEwMw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
视频学习中的一个图例,比较形象,截屏下来的,供大家学习。
![](https://img-blog.csdn.net/20141217224356109?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGl1aHVhYmluZzc2MDU5NjEwMw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
IO流未完待续。。。。。
一、简述
· IO流是用来处理设备间的数据传输
· Java对数据的操作是通过流的方式
· Java用于操作流的对象都在IO包中
· IO流按操作数据分为两种:字节流与字符流。
· IO流按照流的方向分为:输入流与输出流。
二、常用的基本类型
1.字节流的抽象基类
inputStream ,outputStream
2.字符流的抽象基类
Reader , Writer
注意:由这四个类派生出来的子类名称都是以其父类名作为子类名的后缀。
例如:InputStream的子类 FileInputStream
Reader的子类 FileReader
三、具体用法:
1. 如何将数据写入文件中
说明(FileWriter的引入):
由于最常见的数据表现形式是文件,所以找到一个专门用于操作文件的Writer子类对象----FileWriter。它的后 缀是父类名,前缀是功能名。
由于输入的过程中,文件名有可能输入错误,可能出现异常就要抛异常。
写入文件的步骤:
第一步:创建一个FileWriter对象,该对象一被初始化就必须要有被操作的文件;该文件会被创建在被 指定的目录下,如果该目录下有同名文件就会被覆盖
第二步:调用Writer方法将字符串写入流中
第三步:刷新流中的缓冲数据;采用flush方法
第四步:关闭流资源,但是在关闭之前会刷新一次流中的数据,刷至文件中
注意:关闭流资源后不能再刷新,而采用flush刷新后还可以使用流资源;
IO的异常处理通过try-catch来进行捕获,finally语句中要是必须要处理的
东西,即释放内存资源等。
代码示例:
2.异常处理:
由于会出现文件不存在或文件名输入错误的异常情况,因此要对异常作一些处理。
代码示例:
3.文件内容的续写:
思路:文件要续写得从FileWriter类入手,找其里面有没有方法。
4.文件内容的读取
文件的读取方法有两种:
读取方式一:int read();该方法是一次只返回一个字符;
代码示例:
读取方式二:int read(char[] cbuf);方法是每次读满一个数组,然后输出;它的返回值是读取的字符数;
代码示例:
代码中如果打印数组的话,在最后如果数组没满的话,打印出来的不仅仅是读取的那个,还有原来的那些没被替代的。
5.文件的拷贝
思路:1.先创建一个文件,来存储;
2.定义读取流,从源文件中读取出来;同时就边读边写,建立起两个文件间的关联;
3.关闭资源;
代码示例 :
方法一:
视频学习中的一个图例,比较形象,截屏下来的,供大家学习。
IO流未完待续。。。。。
相关文章推荐
- java自学日记(一)
- 黑马程序员 java 自学日记一Java中堆和栈的区别
- java自学日记5
- java自学日记10
- java自学日记9
- Java自学日记(一)
- JAVA自学日记——Part Ⅰ.
- java自学日记3
- java自学日记2
- JAVA自学日记2--单例设计模式
- 黑马程序员 java自学日记二 Java中的管道流
- 黑马程序员 Java自学日记八 关键字的分类
- 黑马程序员 Java自学日记七 异常
- java自学日记4
- java自学日记6(网络编程)
- 我要开始写C#和JAVA自学日记了
- 黑马程序员 java自学日记五 枚举的其中常用方法
- java自学日记四
- java自学日记7
- JAVA自学日记--万年历的小练习