黑马程序员_基础_IO流学习笔记_IO流基础
来源:互联网 发布:biorad cfx 软件下载 编辑:程序博客网 时间:2024/06/06 07:33
-------android培训、java培训、期待与您交流!----------
------- android培训、java培训、期待与您交流! ----------详细请查看:www.itheima.com
1、IO流概述
IO流用来处理设备之间的数据传输;Java对数据的操作是通过流的方法;Java用于操作流的对象都在IO包中;流按操作数据分为两种:字节流和字符流;流按流向分为:输入流、输出流。
字符流可以在内部融合编码表,可以指定使用哪个编码表,以解决乱码问题。
字节流的抽象基类:InputStream、OutputStream;字符流的抽象基类:Reader、Writer。由这四个类派生出来的子类名称都是以其父类名作为子类名的后缀。如:InputStream的子类FileInputStream;Reader的子类FileReader。
2、IO流-FileWriter
Writer是写入字符流的抽象类。子类必须实现的方法仅有 write(char[], int, int)、flush() 和 close()。但是,多数子类将重写此处定义的一些方法,以提供更高的效率和/或其他功能。
下面是简单的FileWriter例子,以及一些要点说明:
public static void fileWriter() throws IOException{//FileWriter//创建一个FileWriter对象,该对象一被初始化就必须要明确被操作的文件。//而且该文件会被创建到指定目录下。如果该目录下已有同名文件,将被覆盖。//其实该步就是在明确数据要存放的目的地。Writer writer = new FileWriter("G:\\TestFolder\\writer.txt");//调用write方法,将字符串写入到流中writer.write("你是程序猿");//将缓冲区存放的数据插入到文件中writer.flush();writer.write(" 你全家都是程序猿");//关闭流资源,关闭之前会刷新一次内部缓冲区的数据。close之后不能继续使用流写入字符串//java写入数据实质是调用系统内部的方式完成数据的插入,会使用系统的资源,因此结束插入数据之前需要close()writer.close();}
3、IO流-IO异常处理方式
推荐文件分隔符使用 File.separator 替代双斜杠“\\”,下面是IO异常处理方式的简单例子,以及一些要点说明:
public static void ioException(){//IO异常处理方式Writer writer = null;//将writer定义在外部try {writer = new FileWriter("G:" + File.separator + "TestFolder" + File.separator + "ioexception.txt");writer.write("我是一个程序猿");} catch (IOException e) {e.printStackTrace();} finally {//finally块中的代码一定会执行,所以要将close方法写到里面try {if(writer != null)//如果writer初始化异常,直接关闭writer会报异常,需判断是否为nullwriter.close();} catch (IOException e) {e.printStackTrace();}}}
4、IO流-文件的续写
实例化一个FileWriter流的时候,在文件名后面再传递一个boolean的参数可控制是否覆盖源文件。下面是文件续写的简单例子,以及一些要点说明:
public static void ioFileWritten(){//IO流-文件的续写Writer writer = null;String spr = File.separator;//传递一个true参数,代表不覆盖已有的文件,并在已有文件的末尾处进行数据的续写try {writer = new FileWriter("G:" + spr + "TestFolder" + spr + "writer.txt", true);writer.write("本文件可续写\t");//\t表示制表符writer.write("我在上面\r\n我在下面");//windows系统需使用\r\n换行,linux系统\n即可换行} catch (IOException e) {e.printStackTrace();} finally {if(writer != null)try {writer.close();} catch (IOException e) {e.printStackTrace();}}}
------- android培训、java培训、期待与您交流! ----------详细请查看:www.itheima.com
0 0
- 黑马程序员_基础_IO流学习笔记_IO流基础
- 黑马程序员_基础_IO流学习笔记_字节流的学习
- 黑马程序员_IO流基础
- 黑马程序员_java基础学习笔记07_IO流
- 黑马程序员_java基础学习笔记08_IO流
- 黑马程序员_java基础学习笔记09_IO流
- 黑马程序员_学习笔记_Java基础_IO流(一)
- 黑马程序员_学习笔记_Java基础_IO流(二)
- 黑马程序员_基础_IO流学习笔记_File对象功能
- 黑马程序员_毕向东JAVA基础_IO流(一)
- 黑马程序员-java_基础加强_IO流
- 黑马程序员_JAVA基础_IO流(一)
- 黑马程序员_JAVA基础_IO流(二)
- 黑马程序员_java基础_IO流
- 黑马程序员_java基础_io流
- 黑马程序员_IO流学习笔记
- 黑马程序员_IO流笔记
- java基础学习笔记_IO流
- MySQL搜索: WHERE 多条件
- 分支结构体验——两个数的正差值
- 【学生信息管理系统 5】:开始、过程、结束、收获
- cocos2d-html5 Layer 和 Scene 创建模式
- 面试一
- 黑马程序员_基础_IO流学习笔记_IO流基础
- 2014-07-11 日志
- C++读取txt 文件
- NSData 日期格式化(显示格式) 时区获取设置
- 2014年大公国际软件测试工程师面试题
- 吐哈录井信息平台使用Win2003系统 IIS 无法打开网页的解决办法
- 基于ARM11+Linux的无线视频监控系统
- 48个实用的HTML特效代码<推荐初学者使用>
- 捕捉异常 @try //有可能出异常的代码块 @catch //如果捕捉到错误,则会执行此处的代码 @finally //可选的