java高级——io流(上)

        IO流实际上就是文件与程序之间的关系,数据由程序走向文件的过程称为输出流,数据由文件走向程序的过程称为输入流。IO流按照流动数据单位又可分为字节流和字符流,如字面意思,字节流就是一个字节一个字节的传输,字符流就是一个字符一个字符的传输。按照功能又可分为节点流和处理流,节点流适合直接草最数据读写的流类如FileInputStream,处理流对一个已存在的流的链接和封装,通过对数据进行处理为程序提供功能强大、灵活的读写功能,如BufferedInputStream。

字节流读写文本文件的写法

(1)使用字节流类FileInputStream读文本文件

FileInputStream称为文件输入流,它是字节输入流InputStream抽象类的一个子类,它的作用是将文件中的数据输入到内部存储器(简称内存)中,可以利用它来读取文本文件中的数据,具体实现步骤如下:

1)导入相关的类

import java.io.IOException;

import java.io.InputStream;

import java.io.FileInputStream;

2)构造一个文件输入流对象

InputStream fileObject = new FileInputStream("text.txt");//此时的文件输入流对象fileObject就和源数据源(text.txt)关联起来。

3)利用文件输入流类的方法读取文本文件中的数据

fileObject.available();//可读取的字节

fileObject.read();//读取文件的数据

4)关闭文件输入流对象

fileObject.close();


(2)使用字节流类FileOutputStream写文本文件

FileOutputStream称为文件输出流,它是字节输出流OutputStream抽象类的子类,它的作用是把内存中的数据输出到文件中,可以利用它把内存中的数据写入到文本文件中,具体实现步骤如下:

1)导入相关的类

import java.io.IOException;

import java.io.OutputStream;

import java.io.FileOutputStream;

2)构造一个文件输出流对象

OutputStream fos = new FileOutnputStream("text.txt");//此时的文件输出流对象fos就和目标数据源(text.txt)关联起来。

3)利用文件输出流类的方法把数据写入到文本文件中。

String str = "好好学习Java";

byte[] words = str.getBytes();

fos.write(words,0,words.length);//利用write方法将数据写入到文件中去

4)关闭文件输入流对象

fos.close();

字符流读写文本文件的方法

(1) 使用字符流类BufferedReader和FileReader读文本文件

BufferedReader和FileReader两个类都是Reader抽象类的子类,它们可以通过字符流的方式读取文件,并使用缓冲区,提高了读文本文件的效率。读取文本文件的具体步骤如下:

1)导入相关的类

import java.io.FileReader;

import java.io.BufferedReader;

import java.io.IOException;

2)构造一个BufferedReader对象

FileReader fr = new FileReader("mytest.txt");

BufferedReader br = new BufferedReader(fr);

3)利用BufferedReader类的方法读取文本文件中的数据

br.readLine();//读取一行数据,返回字符串

4)关闭相关的流对象

br.close();//后开的流先关

fr.close();//先开的流后关


(2) 使用字符流类BufferedWrite和FileWrite写文本文件

BufferedWrite和FileWrite都是字符输出流Write抽象类的子类,它们可以通过字符流的方式并通过缓冲区把数据写入文本文件,提高了写文本文件的效率。把数据写入文本文件的具体操作步骤如下:

1)导入相关的类

import java.io.FileWriter;

import java.io.BufferedWriter;

import java.io.IOException;

2)构造一个BufferedWriter对象

FileWriter fw = new FileWriter("mytest.txt");

BufferedWriter bw = new BufferedWriter(fw);

3)利用BufferedWriter类的方法读取文本文件中的数据

br.write("hello");//读取一行数据,返回字符串

4)相关流对象的清空和关闭

bw.flush();

bw.close();//后开的流先关

fw.close();//先开的流后关

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不愿是过客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值