20-IO流-03-IO流(字符流-FileWriter)
2015-08-11 10:40
302 查看
package cn.itcast.io.demo; import java.io.FileWriter; import java.io.IOException; public class IoDemo { public static void main(String[] args) throws IOException { /** * 字节流的抽象基类:(两个顶层父类) * InputStream,OutputStream * * 字符流的抽象基类:(两个顶层父类) * Reader,Writer * * 注:由这四个类派生出来的子类,其名称都是以其父类名作为后缀(前缀就是该对象的功能)。 * 如:InputStream的子类FileInputStream * 如: Reader的子类FileReader * * 【需求】 * 将一些文字存储到硬盘一个文件中。 * 记住:如果要操作文字数据,建议优先考虑字符流。 * 而且要将数据从内存写到硬盘上,要使用字符流中的输出流。Writer */ /* * (1)打开API,点进java.io包,找到Writer类,点进其子类OutputStreamWriter,再点进其 * 子类FileWriter(即为Writer的“孙子”)。 * * (2)发现FileWriter类中的构造函数没有空参数的,也就是说,所有构造方法均需指定参数。 * */ //Step1:创建一个可以往文件中写入字符数据的字符输出流对象。 /* * 既然是往一个文件中写入文字数据,那么在创建对象时,就必须明确该文件(用于存储数据的目的地)。 */ FileWriter fw = new FileWriter("demo.txt");//若成功将文件写入甲的电脑中F盘,而换到乙的电脑上则不能写入,因为没F盘,所以需要声明异常。 /* * 上一行代码运行后,在当前文件夹(vedio20.IO.03)中新建了一个名为demo的文本文件 * 【注】如果demo.txt文件不存在,则会新建一个,若存在,则会将旧文件覆盖 */ //Step2:调用Writer对象中的write(String)方法,写入数据 fw.write("abcde");//运行之后,打开demo.txt文件,发现里面啥也没有,也就是说,字符串abcde未被写入,其实【数据写入到临时存储缓冲区中】 /* * 在Writer类中找到flush方法: * public abstract void flush() throws IOException * 刷新该流的缓冲。如果该流已保存缓冲区中各种 write() 方法的所有字符,则立即将它们写入预期目标。 */ fw.flush();//此时demo.txt文件中已被写入数据abcde /*Step3: * 要记得关闭流,因为不关的话,该流总是开着,浪费资源不说,效率还低 * 调用Writer类中方法: * * public abstract void close() throws IOException * 关闭此流,但要先刷新它。在关闭该流之后,再调用 write() 或 flush() 将导致抛出 IOException。关闭以前关闭的流无效。 */ fw.close();//此时流已经关闭,不能再调用write方法写入数据,注意,如果该流flush而没close,则可以继续写入数据 //由于close()中已经自动调用flush方法,即先刷新再关闭,所以上面fw.flush()不需要 /** * flush和close区别: * flush完之后仍可以对该流写入数据,而close后该流关闭,无法写入数据 * 对于当前某一个流来说,flush可以使用多次,close只能使用一次。 */ } }
相关文章推荐
- HDU 5338 ZZX and Permutations
- 本地使用SharedPreference记录状态
- jQuery 鼠标拖拽排序
- 获得IP地址中文
- 类模板
- Java中Object转化为int类型
- 寻找技术编辑大牛
- SQLite3的操作命令
- vsftp配置勘误
- APIController原型
- find记录
- fork() 问题
- Eclipse的下没有Android sdk and avd manager
- 深入理解Cocos2d-x 3.x:内置数据结构(2)Map
- ScrollView包裹ListView的两种处理方法
- 无人机来得太快,就像龙卷风
- 【Java解析XML】【一】XML解析技术概括
- 使用css3设置隐藏文字为省略号
- 写在程序猿的困惑(特别Java程序猿)入行一年,感觉我不知道接下来该怎么办才能不断进步的,寻求翼
- 如何转移数据库MDF和LDF文件