黑马程序员——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天 )

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 一、System静态类 System:类中的方法和属性都是静态的。 static Prin...
  • chao100ge
  • chao100ge
  • 2015年07月06日 21:45
  • 158

JAVA基础18天速成学习笔记之第10天

JAVA基础18天速成学习笔记之第10天 这是我在csdn下载的.觉得有助于复习Java所以贴了出来.感谢作者.下面附有下载地址. http://download.csdn.net/detail/...
  • thanklife
  • thanklife
  • 2013年11月08日 10:47
  • 1120

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

---------------------- android培训、java培训、期待与您交流! ----------------------   1、IO(InputOutput)流  ...
  • jiyixuan
  • jiyixuan
  • 2012年06月24日 00:57
  • 1460

黑马程序员---Java基础--18天(IO流之一)

---------------------- android培训、java培训、期待与您交流! ---------------------- 1.其他对象(System) /* System...
  • MsLinux386
  • MsLinux386
  • 2012年06月23日 20:49
  • 1403

黑马程序员——Java基础测试题

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 黑马程序员——Java基础测试题 第1题:以下代码哪个是正确的?为什么?   a. byte...
  • liu007004
  • liu007004
  • 2015年01月16日 12:49
  • 1431

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

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

黑马程序员_毕向东_Java基础视频教程学习笔记(十三)

面向对象: 面向对象时相对面向过程而言。 面向对象和面向过程都是一种思想。 面向过程强调的是功能行为。 面向对象是将功能封装进对象,强调具备了功能的对象。 面向对象时基于面向过程的。 public c...
  • escdelete
  • escdelete
  • 2013年11月16日 23:11
  • 937

黑马程序员 —— Java高级视频_IO输入与输出(第二十一天)

------- android培训、java培训、期待与您交流! ---------- 一    对象的序列化 1、什么是对象的序列化? 毕老师:“原来对象只能存...
  • Lin1i1y
  • Lin1i1y
  • 2015年02月02日 16:57
  • 1201

java 从零开始,学习笔记之基础入门<IO流>(十八)

IO流 流的概述: 流就是以一定的传输方式将文件里面的内容进行读写。数据的传输状态可以抽象的表示为流。  流的分类: 按照输入输出方式分: 输入流和输出流  输入流: 将文件中的数据读入...
  • lulu147
  • lulu147
  • 2013年11月18日 10:05
  • 2107

文件传输基础—Java IO流 FileInputStream 的运用

1、字节流 1)包含两个抽象类:InputStream 、 OutputStream      其中,InputStream抽象了应用程序读取数据的方式,而OutputStream抽象了应用程序写出数...
  • Stephen_90
  • Stephen_90
  • 2016年05月06日 20:33
  • 830
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:黑马程序员——java基础---IO流(第18天)
举报原因:
原因补充:

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