java输出流缓冲区内容清除,Java输入输出流与缓冲区的使用

Java输入输出流与缓冲区的使用,有需要的朋友可以参考下。

一,Input/Output流:

将外设中的数据读取到内存中就是输入。

将内存中的数据写入到外设中就是出。

I/O流就是用来处理设备间的

。用于操作流的对象都放在IO包中。

流按操作方式分为字节流和字符流。

字节流能处理所有的数据。

字符流的由来:

其实就是字节流读取文字字节数据后,不直接操作,而是先查指定的编码表,获取指定的文字,再对这个文字进行操作。简单地说即是:字符流=字符流+编码表。

输入输出流的顶层父类:

字节流:

1,InputStream

2,OutputStream

字符流:

1,Readrer:

2,Writer:

这些体系的子类都以父类名作为后缀。而且子类名的前缀就是对象的功能。

从熟悉的文字开始:字符流

将一些文字存储到硬盘上的

中:

若果要操作文字数据,优先考虑字符流,而且要将数据从内存写到硬盘上,要使用字符流中的输出流Writer。

的基本体现是文件。

FileWriter file = new FileWriter("D:\\FileWriterDemo.txt");//创建文件输出流

file.write("加油");//向文件缓冲区写入数据

file.flush();//将

注意:

1.向

输出数据需要抛出IOException异常。

2.Windows 识别的换行标志是:\r\n 故,需要文本换行时,需要在文本内部添加“\r\n”即可。

例如需要输出:

加油!

加油。

可以使用语句:file.write("加油!\r\n加油。");

如果构造

中添加参数true,则可以实现对文件的续写功能,再次对文件进行操作时,是追加的内容而不是覆盖。

方法如下:FileWriter file = new FileWriter("D:\\FileWriterDemo.txt",true);

读取:

读取一个文本文件,将读取到的文本打印到

//方法一:

int ch;

FileReader filereader = new FileReader("D:\\FileWriterDemo.txt");

while((ch = filereader.read()) != -1){

System.out.print((char)ch);

filereader.close();

}

//方法二:

FileReader filereader = new FileReader("D:\\FileWriterDemo.txt");

char[] arr = new char [1024];

int len = 0;

while((len = filereader.read(arr)) != -1)

System.out.print(new String(arr,0,len));

filereader.close();

注意:

1.在创建读取流对象时,必须要明确被读取的文件。并且一定要确定该文件存在。

2.当读取到文件末尾时,如果继续读则返回-1.

将C盘的一个文本文件复制到D盘。

分别定义读写操作,从一个文件读取,使用写操作对读取的数据进行写的操作。

二,缓冲区的使用:

使用缓冲区写入文件:

为了提高写入的效率,就引入了字符流的缓冲区。

创建一个字符写入流缓冲区对象,

和指定需要缓冲的对象相关联。

使用缓冲区的写入方法将数据写入到缓冲区中。

使用缓冲区的刷新方法,将数据刷新到目的文件

使用缓冲区的光比方法,关闭相应的缓冲区,关闭缓冲区其实就是关闭流对象。

举例如下:

FileWriter filereader = new FileWriter("D:\\BufferedDemo.txt",true);

BufferedWriter bw = new BufferedWriter(filereader);

bw.write("\r\n努力加油加油!");

bw.flush();

bw.close();

注意:写入缓冲器中含有一个特殊的方法:newLine()。作用换行。

使用缓冲区读取文件:(过程如写入)

String str;

FileReader fr = new FileReader("D:\\BufferedDemo.txt");

BufferedReader br = new BufferedReader(fr);

while((str = br.readLine()) != null)

System.out.println(str);

br.close();

注意:读取

中含有一个特殊的方法:readLine()。作用读取一行。不包含换行。

缓冲区无非就是定义了一个数组,并对外提供了更多的方法对数组进行访问。

其实这些方法最终操作的都是数组的角标。

缓冲的原理:

其实就是从源中获取一批数据装进缓冲区中,再从缓冲区中不断地取出一个一个的数据。

在此次取完后,再从源中继续取出下一批数据进入

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值