java fileio_Java FileIO文件流读写总结

简述

代码展示

小结

简述

1.其实文件流的读写没有太大难度,但是其中几个概念相似度太高,容易混淆,所以先解释下几个类。

InputStream 和 OutStream  字节流

InputStreamReader 和 OutStreamWriter  字符流(桥梁)

BufferedReader 和 BufferedWriter  把字节或者字符放入缓冲区,提高读写速度

2.要先用字节流来读取或者写入文件,因为可以避免中文乱码。

3.面对存入文件的数据类型不同选取不同的流方式:字节流,字符流,对象流。

4.在读写的时候,要把流放入缓冲区Buffer里,这样可以加快读写速度。

5.可以总结出一般思路:FileInputStream(字节流)--->InputStreamWriter(字符流)--->BufferedWriter(缓冲池).

6.BufferedWriter bw = new BufferedWriter(new InputStreamWriter(new FileInputStream(file, true)));  可以直接用一个语句来表达三者之间的关系。

代码展示

Code   ViewCopyPrint

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.OutputStream;

import java.io.OutputStreamWriter;

public class TestFileIO  {

public static void main(String[] args) {

TestFileIO t = new TestFileIO();

t.write2file("itobin");

}

public void write2file(String cbuf) {

File file = null;//首先定义文件类

OutputStream os = null;//定义字节流

OutputStreamWriter osw = null;//OutputStreamWriter是字节流通向字符流的桥梁。

BufferedWriter bw = null;//定义缓冲区

try {

file = new File("d:\\test.txt"); //新建文件对象

//从文件系统中的某个文件中获取字节

os = new FileOutputStream(file, true); //true是append设为允许,即可以在原文件末端追加。

//将字节流转换成字符流

osw = new OutputStreamWriter(os);

//把接收到的字符流放入缓冲区,提高读写速度。

bw = new BufferedWriter(osw);

//将字符串以流的形式写入文件

bw.write(cbuf);

} catch (FileNotFoundException e) {

System.out.println("找不到指定文件");

} catch (IOException e) {

System.out.println("写入文件错误");

} finally {

try {

//关闭文件放到finally里,无论读取是否成功,都要把流关闭。

//关闭的顺序:最后开的先关闭,栈的先进后出原理。

bw.close();

osw.close();

os.close();

} catch (IOException e) {

System.out.println("文件流无法关闭");

}

}

}

}

以上代码就是把字符串"itobin"写入到d:\test.txt里的过程。

小结

文件流的读写虽没有数据库操作那么重要和常用,但是在一些小型的游戏和程序当中,没有必要动用庞大的数据库的时候,文件的作用就凸现出来了,所以有必要掌握文件流的输入输出。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值