- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1、课程名称:字节流与字符流
2、知识点
2.1、上次课程的主要知识点
File类进行文件操作。
2.2、本次预计讲解的知识点
利用字节流与字符流实现数据操作。
3、具体内容(★★★★★)
如果要进行文件内容的操作那么必须依靠数据流完成,而数据流主要分为两种:
· 字节流:InputStream(字节输入流)、OutputStream(字节输出流);
· 字符流:Reader(字符输入流)、Writer(字符输出流)。
流在现实生活中也是存在的,例如:水流、电流。就以居民水库用水的概念来观察流的操作。
1、 按照字节流的方式描述:
2、 按照字符流描述;
字符要比字节处理的更多一些,但是不管使用的是字节流还是字符流,其基本的操作流程都是一样的,以文件操作为例:
· 创建File类对象,主要是指明要操作的文件路径;
· 通过字节流或字符流的子类为父类实例化;
· 进行文件的读、写操作;
· 关闭数据流(close())。
3.1、字节输出流:OutputStream
字节输出流主要是以操作byte数据为主的,首先来观察java.io.OutputStream类的定义结构:
public abstract class OutputStream
extends Object
implements Closeable, Flushable 首先发现OutputStream类中实现了两个接口:Closeable、Flushable。
最早在使用OutputStream类操作的时候还没有Closeable或Flushable,所以对于这两个接口基本上就可以忽略了。而除了close()与flush()两个方法之外,还定义有三个重要的输出操作方法:
· 输出单个字节:public abstract void write(int b) throws IOException;
· 输出全部字节数组:public void write(byte[] b) throws IOException;
· 输出部分字节数组:public void write(byte[] b, int off, int len) throws IOException。
但是OutputStream是一个抽象类,那么按照抽象类的基本原则来讲,如果要想取得OutputStream类的实例化对象,那么一定需要依靠子类,如果要进行文件的输出操作则可以使用FileOutputStream,在这个类中提供有两个常用构造:
· 构造方法:public FileOutputStream(File file) throws FileNotFoundException,覆盖文件;
· 构造方法:public FileOutputStream(File file, boolean append) throws FileNotFoundException,追加文件。
范例:实现文件的输出
package cn.mldn.demo;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
public class TestDemo {
public static void main(String[] args) throws Exception { // 直接抛出
// 第一步:定义要输出文件的File类对象
File file = new File(e: + File.separator + hello + File.separator + my.txt);
// 输出信息的时候文件可以不存在,但是目录必须存在
if (!file.getParentFile().exists()) { // 父路径不存在
file.getParentFile().mkdirs() ; // 创建父路径
}
// 第二步:利用OutputStream的子类为父类进行实例化
OutputStream output = new FileOutputStream(file) ;
// 第三步:输出文字信息
String msg = 陶公公因为得罪了王公公,结果被阉割了十次。。。 ; // 字符串
// 为了方便输出需要将字符串变为字节数组
byte data [] = msg.getBytes() ; // 变为字节数组
output.write(data); // 输出数据
output.close();
}
} output.write(data,0,10); //
文档评论(0)