好文档 - 专业文书写作范文服务资料分享网站

Java流(文件读写操作)

天下 分享 时间: 加入收藏 我要投稿 点赞

Java流

一、 流的分类

? 按数据流动方向

– 输入流:只能从中读取字节数据,而不能向其写出数据 – 输出流:只能向其写入字节数据,而不能从中读取数据 ? 按照流所处理的数据类型

– 字节流:用于处理字节数据。 – 字符流:用于处理Unicode字符数据。 ? 按照流所处理的源

– 节点流:从/向一个特定的IO设备读/写数据的流。(低级流) – 处理流:对已存在的流进行连接和封装的流。(高级流)

二、 缓冲流

? 缓冲流要“套接”在相应的节点流之上,对读写的数据提供了缓 冲的功能,提高了读写的效率,同时增加了一些新的方法。 ? J2SDK提供了四种缓存流:

– BufferedReader – BufferedWriter – BufferedInputStream s – BufferedOutputStream

? 缓冲输入流支持其父类的mark()和reset()方法:

– mark()用于“标记”当前位置,就像加入了一个书签,可以使用reset()方法返回这个标记重新读取数据。

? BufferedReader提供了readLine()方法用于读取一行字符串(以\\r或\\n分隔)。

? BufferedWriter提供了newLine()用于写入一个行分隔符。 ? 对于输出的缓冲流,写出的数据会先在内存中缓存,使用flush()方法将会使内存中的数据立刻写出。

三、 类层次

3.1、 InputStream类层次

3.2、OutputStream类层次

3.3、Reader类层次

3.4、Writer类层次

四、 常用的字符流与字节流的转化

说明:

1. 字节流用于读写诸如图像数据之类的原始字节流。 2. 字符流用于读写诸如文件数据之类的字符流。 3. 低级流能和外设交流。 4. 高级流能提高效率。

5. InputStreamReader 是字节流通向字符流的桥梁。 6. OutputStreamWriter 是字符流通向字节流的桥梁。

五、 代码实例

5.1、常用读文件:

/**

* 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。 * @param fileName:文件的名 */

public static void readFileByBytes(String fileName) { }

File file = new File(fileName); InputStream in = null; try {

logger.debug(\以字节为单位读取文件内容,一次读多个字节:\); /*一次读多个字节*/

byte[] tempbytes = new byte[100]; int byteread = 0;

in = new FileInputStream(file);

/*读入多个字节到字节数组中,byteread为一次读入的字节数*/ while ((byteread = in.read(tempbytes)) != -1) { }

logger.debug(tempbytes); logger.debug(0);

logger.debug(byteread);

} catch (Exception e1) {

logger.error(\读取文本文件异常\,e1); } finally { }

if (in != null) { }

try {

in.close();

} catch (IOException e1) {

logger.error(\读取文本文件异常\,e1); }

Java流(文件读写操作)

Java流一、流的分类?按数据流动方向–输入流:只能从中读取字节数据,而不能向其写出数据–输出流:只能向其写入字节数据,而不能从中读取数据?按照流所处理的数据类型–字节流:用于处理字节数据。–字符流:用于处理Unicode字符数据。?按照流所处理的源–节点流:从/向一个特定
推荐度:
点击下载文档文档为doc格式
2acr74vb9j5dq8n1sig30fluh9boav00ujt
领取福利

微信扫码领取福利

微信扫码分享