脚本宝典收集整理的这篇文章主要介绍了【207天】黑马程序员27天视频学习笔记【Day21-上】,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
叨逼叨两句
21-01:字符流FileReader
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
- 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:字符流的拷贝
- 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:字符流的应用场景
-
字符流可以拷贝文本文件,但不推荐使用,因为读取时会把字节转为字符,写出时还要把字符转回字节。这样的方式不如字节流拷贝
![](http://a1.qpic.cn/psb?/V13aP5rZ2U5DOS/.*L6CZ5MT3Tsz4Ehz*8k1gyvusk0ulLBvguheh.9xYQ!/b/dLEAAAAAAAAA&bo=MwX0AQAAAAADAOY!&rf=viewer_4)
- 程序需要读取一段文本,或者需要写出一段文本的时候可以使用字符流。因为读取时是按照字符大小读取的,不会出现半个中文的情况。写出的时候可以直接将字符串写出,不用转换为字节数组。
21-05:字符流是否可以拷贝非纯文本的文件
- 不可以,因为未必每一个文件能在码表中找到对应字符。
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()方法
-
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(); } }
-
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,请注明来意。