【207天】黑马程序员27天视频学习笔记【Day21-上】

发布时间:2019-11-19 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了【207天】黑马程序员27天视频学习笔记【Day21-上】脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

叨逼叨两句

  1. 现在能满足我质量要求,让我兴奋的外界刺激感觉越来越少了,看来自能靠自己思考来给自己找刺激了。
  2. 罗胖的《每天听本书》这个产品要坚持听,但也一定要清醒的认识到,那些知识只是通识,只能提供知识广度,带给自己灵感,想要知识深度,还是得靠自己一点一点的去专研。

21-01:字符流FileReader

  1. Object——Reader——InputStreamReader——FileReader
  2. 通过项目默认的码表,一次读取一个字符
package com.test.demo001;  import java.io.FileReader; import java.io.IOException;  public class Demo009 {     public static void main(String[] args) throws IOException{         FileReader fr = new FileReader("b.txt");         int c;         while((c = fr.read())!= -1){    //通过项目默认的码表,一次读取一个字符             System.out.PRintln((char)c);         }         fr.close();     } } 

21-02:字符流FileWrITer

  1. Object——Writer——OutputStreamWriter——FileWriter
package com.test.demo001;  import java.io.FileWriter; import java.io.IOException;  public class Demo009 {     public static void main(String[] args) throws IOException{         FileWriter fw = new FileWriter("b.txt");         char[] kk = {'世','界'};         fw.write(97);         fw.write("你好");         fw.write(kk);                  fw.close();     } } 

21-03:字符流的拷贝

  1. Writer类中有一个2k大小的缓冲区,如果不关流,就会将内容写到缓冲区里,关流则可将缓冲区内的内容刷新再关闭。
package com.test.demo001;  import java.io.FileReader; import java.io.FileWriter; import java.io.IOException;  public class Demo009 {     public static void main(String[] args) throws IOException{         FileReader fr = new FileReader("b.txt");         FileWriter fw = new FileWriter("c.txt");                  int c;         while((c = fr.read())!= -1){             fw.write(c);         }                  fr.close();         fw.close();     } } 

21-04:字符流的应用场景

  1. 字符流可以拷贝文本文件,但不推荐使用,因为读取时会把字节转为字符,写出时还要把字符转回字节。这样的方式不如字节流拷贝

    ![](http://a1.qpic.cn/psb?/V13aP5rZ2U5DOS/.*L6CZ5MT3Tsz4Ehz*8k1gyvusk0ulLBvguheh.9xYQ!/b/dLEAAAAAAAAA&bo=MwX0AQAAAAADAOY!&rf=viewer_4) 
  2. 程序需要读取一段文本,或者需要写出一段文本的时候可以使用字符流。因为读取时是按照字符大小读取的,不会出现个中文的情况。写出的时候可以直接将字符串写出,不用转换为字节数组

21-05:字符流是否可以拷贝非纯文本的文件

  1. 不可以,因为未必每一个文件能在码表中找到对应字符。

21-06:自定义字符数组的拷贝

package com.test.demo001;  import java.io.FileReader; import java.io.FileWriter; import java.io.IOException;  public class Demo009 {     public static void main(String[] args) throws IOException{         FileReader fr = new FileReader("b.txt");         FileWriter fw = new FileWriter("c.txt");                  char[] arr = new char[1024];                  int len;         while((len = fr.read(arr))!= -1){             fw.write(arr,0,len);         }                  fr.close();         fw.close();     } } 

21-07:带缓冲的字符流

package com.test.demo001;  import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException;  public class Demo009 {     public static void main(String[] args) throws IOException{         BufferedReader br = new BufferedReader(new FileReader("b.txt"));         BufferedWriter bw = new BufferedWriter(new FileWriter("c.txt"));                          int c;         while((c = br.read())!= -1){             bw.write(c);         }                  br.close();         bw.close();     } } 

21-08:readLine()和newLine()方法

  1. readLine():一次读一行

    package com.test.demo001;  import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException;  public class Demo009 {     public static void main(@H_360_407@String[] args) throws IOException{         BufferedReader br = new BufferedReader(new FileReader("b.txt"));         String line;         while((line = br.readLine())!= null){             System.out.println(line);         }                  br.close();     } } 
  2. newLine():换行符【与“rn”的区别在于它能跨平台】

        package com.test.demo001;  import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException;  public class Demo009 {     public static void main(String[] args) throws IOException{         BufferedReader br = new BufferedReader(new FileReader("b.txt"));         BufferedWriter bw = new BufferedWriter(new FileWriter("c.txt"));         String line;         while((line = br.readLine())!= null){             bw.write(line);             //bw.write("rn");             //bw.newLine();         }                  br.close();         bw.close();     } } 

脚本宝典总结

以上是脚本宝典为你收集整理的【207天】黑马程序员27天视频学习笔记【Day21-上】全部内容,希望文章能够帮你解决【207天】黑马程序员27天视频学习笔记【Day21-上】所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。