黑马程序员——java基础---IO流(第18天)

原创 2015年07月07日 11:00:52

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

IO流

一、概述

IO流用来处理设备之间的数据传输

Java用于操作流的对象都在IO包中

流按操作数据分为两种:字节流与字符流

流按流向分为:输入流,输出流。

字节流的抽象基类:InputStream ,OutputStream。

字符流的抽象基类:Reader ,    Writer。

注:由这四个类派生出来的子类名称都是以其父类名作为子类名的后缀。

二、字符流常用功能

流功能属于 java.io;使用之前需要先导包。

2.1、文件写出流FileWriter(stringfileName)

构造函数:

FileWriter(stringfileName)   若文件不存在则抛出IOException

FileWriter(String fileName, boolean append)  对已有文件进行续写,append为1,则写入末尾处,为0,则覆盖源文件或重新创建。

FileWriter(File file)   根据给定的File对象构造一个 FileWriter 对象

常用方法:

write()

flush()

close()

以上三个方法都会抛出异常       

close()和flush区别:flush刷新后,流可以继续使用,close刷新后,会将流关闭。                 

代码示例:

FileWriter fw = new FileWriter("Test.txt");

创建一个FileWriter对象。该对象一被初始化就必须要明确被操作的文件。而且该文件会被创建到指定目录下。如果该目录下已有同名文件,将被覆盖。

其实该步就是在明确数据要存放的目的地。

fw.write("abcde");调用write方法,将字符串写入到流中

fw.flush();刷新流对象中的缓冲中的数据。将数据刷到目的地中。

fw.close();关闭流资源,但是关闭之前会刷新一次内部的缓冲中的数据。

2.2、IO异常处理方式(IOException)

代码示例:


2.3、文件的续写功能

FileWriterString fileNameboolean append(append为1,则写入末尾处,为0,则覆盖源文件或重新创建)

代码示例:

FileWriterfw = new FileWriter("demo.txt",true);

//传递一个true参数,代表不覆盖已有的文件。并在已有文件的末尾处进行数据续写。

注意:若想用换行符,如实Windows系统则换行符 \r\n。

         若想使用符号\,应写两个,写一个java会默认成为转义字符。

2.4、文件读入流FileReader(stringfileName)

2.4.1 读取方式一

          

2.4.2 读取方式二


注意:方式一读一个字符则写入一个字符。而方式二则是全部都读取完毕将数据都存在一个数组中,然后一次性写入目标文件中,次数明显减少,故:方式二的读取效率更高一些,推荐方式二。

小练习:复制文件

/*

复制的原理:

其实就是将C盘下的文件数据存储到D盘的一个文件中。 

步骤:

1,在D盘创建一个文件。用于存储C盘文件中的数据。

2,定义读取流和C盘文件关联。

3,通过不断的读写完成数据存储。

4,关闭资源。

 */

方法一:不带缓冲区的复制文件




方法二:带缓冲区的文件复制。



------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

相关文章推荐

黑马程序员--JAVA基础教程第18天(下)IO流

------- android培训、java培训、期待与您交流! ---------- 1.IO流 IO流用来处理设备之间的数据传输。 java对数据的操作是通过流的方式,用于操作流的对象都...

黑马程序员_java基础视频第18天_与系统交互的类及IO流

---------------------- android培训、java培训、期待与您交流! ---------------------- System和Properties类: 主...

黑马程序员-Java语言基础– IO流 第18天

---------------------- android培训、java培训、期待与您交流! ----------------------   1、IO(InputOutput)流  ...

黑马程序员_学习笔记第18天——IO流、字符流

1、System:描述系统一些信息,类中的方法和属性都是静态的。 获取系统属性信息:Properties  getProperties(); out:标准输出,默认控制台 in:标准输入,默认键盘 因...

黑马程序员——第18天——IO输入与输出(概述,字符流)

/* 字符流和字节流: 字节流两个基类: InputStream OutputStream 字符流两个基类: Reader Writer 先学习一下字符流的特点。 既然IO流是用于操作数据的,...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:黑马程序员——java基础---IO流(第18天)
举报原因:
原因补充:

(最多只允许输入30个字)