A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陆陆 中级黑马   /  2017-11-26 21:53  /  1118 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

IO流:可以把数据存储到文件,也可以从文件中读取数据,实现数据持久化存储

IO流:        输入流------>读数据----->FileReader
             输出流------>写数据----->FileWriter

FileWriter步骤:
              1.创建输出流对象
FileWriter fw = new FileWriter(路径);---->导包
ps:相对路径,相对当前项目而言的,在项目的根目录下,没有盘符;   
     绝对路径,以盘符开始的路径
  2.调用输出流对象的写数据方法
fw.write();                //写数据
fw.fulsh();                //刷新缓冲区,相当于保存
  3.释放资源
fw.close();        //释放资源,  通知系统释放和该文件相关的资源,不能再写东西

fulsh()和close()的区别:
fulsh():刷新缓冲区     流对象还可以继续使用
close():先刷新缓冲区,然后通知系统释放资源      流对象不可以再被使用

void write(String str):写一个字符串数据
void write(String str,int index, int len):  写一个字符串的一部分数据
void write(int  ch):  写一个字符数据,这里写int 类型的好处就是既可以char 类型,也可
  以char对应的int 类型的值 。'a',97
void write(char[] chs):写一个字符数组
void write(char[] chs,int index, int len):写一个字符数的一部分数据

换行:   windows :    \r\n
      linux :  \r
       mac:   \r
追加:FileWriter fw = new FileWriter(路径,true);

FileReader步骤
1.创建输入流对象
FileReader fr = new fileReader(文件名);----->导包
2.调用输入流读数据的方法
       A.  int read(): 一次读取一个字符
                              int ch;
                                while( (ch =  fr.read())  != -1){
                               System.out.print ((char) ch);
                                }
B. int read(char[]  cauf ) :一次读取一个字符数组的数据 ,返回的是实际读取的个数
char[]  arr = new char[1024];
int len ;
while((len=fr.read(arr))!=-1){
       System.out.print (new String(arr,0,len);
}  

                  3.释放资源

高效缓冲流
Bufferedwriter:    将文本写入字符输出流,缓冲各个字符,数组和字符的高效写入
                Bufferawriter bw = new Bufferawriter(new fileWriter(路径));
  bw.write();
  bw.flush();
  bw.close();
BuffereReader: 从字符输入流中读取文本,缓冲各个字符,从而实现字符,数组和行的高效读取
BufferedReader br = new BufferedReader(new FileReader(路径));

缓冲流重点:
特殊功能:
Bufferedwriter:
void newLine():    写一个换行符,这个换行符由系统决定

BuffereReader:
String readLine():  一次读取一行数据,但是不读取换行符

String line;
while((line=br.read())!=null){
bw.write(line);
bw.readLine;
bw.flush()
}

7 个回复

倒序浏览
好好复习,迎接考试
回复 使用道具 举报
好好复习,迎接下一个挑战
回复 使用道具 举报
好好复习,迎接考试
回复 使用道具 举报
哇塞    好到位的总结
回复 使用道具 举报
马上要上就业班了   有点小忐忑
回复 使用道具 举报
虽然开不是很懂个,但感觉好厉害的样子!
回复 使用道具 举报
班花好厉害
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马