file文件操作2

编程入门 行业动态 更新时间:2024-10-23 06:25:55

file文件<a href=https://www.elefans.com/category/jswz/34/1770947.html style=操作2"/>

file文件操作2

字节流和字符流

  • Java流
    • 字符流操作
      • 使用字符流读取文件
      • 使用字符流写文本文件
    • 字节流操作
      • 使用字节流读取文本文件
      • 使用字节流写文本文件

Java流

我们知道了如何利用file类对文件或者目录属性进行操作,但File类不能访问文件的内容,即不能从文件中读取数据或向文件里写数据。
读文件,是指把文件的数据读取到内存中,反之写文件就是把内存中的数据写到文件中。
流呢,是指一连串流动的字符,是以先进先出的方式发送和接收数据的通道。
在java.io包中,封装了许多输入\输出流API。在程序中,这些输入输出流的类的对象成为流对象。可以通过这些流对象将内存中的数以流的方式写入文件,也可以通过流对象将文件中的数据以流的方式读取到内存。
流对象构造的时候往往会和数据源联系起来。数据源分为源数据流和目标数据流源。
1.输入流联系的是源流数据源
2.输出流联系的则是目标数据源。
按照不同的分类方式,可以将流分成不同的类型。
1.按照流的流向进行划分可以分成输入流和输出流。
输出流:OUTPutStream和Writter作为基类。只能向其中写入数据,不能读。
输入流:InputStream和Reader作为基类。只能读取数据,不能写。
2.按照所操作的数据单元的不同,流又可以分成字节流和字符流。
字节流操作的最小的数据单位为8位字节,而字符流操作的最下数据单元是16位字符。
字节流和字符流的区分也很简单,字节流建议使用于二进制数据操作,而字符流用于文本。他们的用法几乎一样。

字符流操作

使用字符流读取文件

1.字符流输入流Reader类
Reader类是读取字符流的抽象类,他提供了常用的方法。
int read() 输入流中读取单个字符
int read(byte[] c)从输入流中读取c.length长度的字符,保存到字符数组C中,返回实际读取的字符数。
read(char[] c,int off,int len)从输入流中读取最多len的长度字符,保存到字符数组c中,保存的位置从off位置开始,返回实际读取的字符长度。
close() 关闭流
2.字符输入流FileReader类
FileReader类是Reader的子类,常用的构造方法格式如下。
FileReader(String fileName)其中,fileName是指要从中读取数据文件的名称。使用的方法如下:

Reader fr=new FileReader(“C:\\myTest.txt”);

3.使用FileReader读取文件
使用字符流类FileReader读取文本文件的操作如下。
1.引入类

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;

2.创建FileReader对象

Reader re = new FileReader("C:\\mytest.txt");

3.利用FileReader类方法读取文本文件
int read();//读取单个字符
4.关闭相关的流对象
fr.close();

l练习:

Reader fe=null;StringBuffer sbf=null;try {fe=new FileReader("hello.txt");char ch[]=new char[1024];//创建字符数组作为中转站sbf=new StringBuffer();int lenth=fe.read(ch);//将字符读入数组while((lenth!=-1)){sbf.append(ch);//追加字符lenth=fe.read();}		} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{if(fe!=null){try {fe.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}

创建字符的中转站,存入每次读取的数据内容,然后调用FileReader对象的Read()方法将字符读入数组ch,并追加到字符串sbf中。

或者我们可以这样写:

char[] cbuf = new char[5];int len = 0;try {fileReader = new FileReader(file);

更多推荐

file文件操作2

本文发布于:2024-03-08 07:38:32,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1720231.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:操作   文件   file

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!