黑马程序员——java基础 io 流 (提高流的读写效率)BufferedReader,BufferedWriter
2015-03-13 17:09
405 查看
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——
这里写代码片“`
“`这里写代码片package com.kaka.buffered;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
/**
* 利用缓冲区去读取文件
* BufferedReader对象特有地方法
* @author Administrator
*
*/
public class BufferedReaderTest {
}
## BufferedReader,BufferedWriter ,Copy文件 ##
## 第三讲 ##
“package com.kaka.buffered;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
/**
*利用BufferedReader 和 BufferedWriter 来 copy文件
*
* @author Administrator
*
*/
public class BufferedReaderCopy {
public static void main(String[] args) {
bufferedCopyMethod();
}
}
## 装饰设计模式 ##
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
/**
*
* 自定义BufferedReader
*
* @author Administrator
*
*/
public class CustomBufferedReader {
}
}
}
class MyBufferedReader{
//文件流
public FileReader fr;
//内部类的构造函数
MyBufferedReader(FileReader fr) {
super();
this.fr = fr;
}
}
## 装饰设计模式 将被增强的对象传给增强的类 ##
对原来类功能的增强 例如:FileReader 的增强类(也就是装饰类) BufferedReader(new FileReader())
/**
*
* 装饰设计模式
* @author Administrator
*
*/
public class ModelBufferedReader {
public static void main(String[] args) {
Person p=new Person();
// p.feed();
SuperPerson sp=new SuperPerson(p);
}
//装饰之前的类
class Person{
//装饰前的方法
public void feed(){
System.out.println(“吃饭”);
}
}
//装饰的类
class SuperPerson{
}
io提高流读写效率
io BufferedWriter,BufferedReader第一讲
特有的方法 newLine() 换行的方法 ## BufferedWrite ##package com.kaka.buffered; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; /** * 用BufferedWriter写入文件 * * 流的缓冲去,提高流读写效率 * @author Administrator * */ public class BufferedTest { public static void main(String[] args) { BufferedMethod(); } private static void BufferedMethod() { // TODO Auto-generated method stub //字符流对象 FileWriter fw=null; //字符流缓冲对象 BufferedWriter bw=null; try { fw=new FileWriter("c:\\demo.txt"); bw=new BufferedWriter(fw); //要写入内容 bw.write("天赋异禀"); //缓存流专有的换行方法 (\r\n) bw.newLine(); //再写入一条 bw.write("天纵奇才"); //刷进文件 bw.flush(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ //只要关闭缓存流就行 if(bw!=null) try { bw.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } ``` ## BufferedReader ## **读取文本文件特有的方法 readLine() ** <div class="se-preview-section-delimiter"></div> ```这里写代码片 package com.kaka.buffered; import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; /** * 利用缓冲区去读取文件 * BufferedReader对象特有地方法 * @author Administrator * */ public class BufferedReaderTest { public static void main(String[] args) { bufferedReaderMethod(); } private static void bufferedReaderMethod() { // TODO Auto-generated method stub //字符读取流对象 FileReader fr=null; //利用缓冲流,加粗水管 BufferedReader br=null; try { fr=new FileReader("C:\\Documents and Settings\\Administrator" + "\\桌面\\HeiMa\\src\\com\\kaka\\io\\test1.java"); br=new BufferedReader(fr); //用来接收 String lin=null; try { //只要拿到的文本文件部位空,就一直循环 while((lin=br.readLine())!=null){ //一行一行的拿 System.out.println(lin); } } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ if(br!=null) try { br.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } ## BufferedReader,BufferedWriter ,Copy文件 ## ## 第三讲 ## ``package com.kaka.buffered; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; /** *利用BufferedReader 和 BufferedWriter 来 copy文件 * * @author Administrator * */ public class BufferedReaderCopy { public static void main(String[] args) { bufferedCopyMethod(); } private static void bufferedCopyMethod() { // TODO Auto-generated method stub BufferedReader br=null; BufferedWriter bw=null; try { br=new BufferedReader(new FileReader("C:\\Documents and Settings\\Administrator" + "\\桌面\\HeiMa\\src\\com\\kaka\\io\\test1.java")); try { bw=new BufferedWriter(new FileWriter("d:\\java.txt")); String str=null; while((str=br.readLine())!=null){ //写入文件 bw.write(str); //换行 bw.newLine(); //刷新 bw.flush(); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ if(br!=null) try { c635 br.close(); if(bw!=null) bw.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } ## 第四讲 自定义BufferedReader 里面的 readLine()和 close() ##
这里写代码片“`
“`这里写代码片package com.kaka.buffered;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
/**
* 利用缓冲区去读取文件
* BufferedReader对象特有地方法
* @author Administrator
*
*/
public class BufferedReaderTest {
public static void main(String[] args) { bufferedReaderMethod(); } private static void bufferedReaderMethod() { // TODO Auto-generated method stub //字符读取流对象 FileReader fr=null; //利用缓冲流,加粗水管 BufferedReader br=null; try { fr=new FileReader("C:\\Documents and Settings\\Administrator" + "\\桌面\\HeiMa\\src\\com\\kaka\\io\\test1.java"); br=new BufferedReader(fr); //用来接收 String lin=null; try { //只要拿到的文本文件部位空,就一直循环 while((lin=br.readLine())!=null){ //一行一行的拿 System.out.println(lin); } } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ if(br!=null) try { br.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
}
## BufferedReader,BufferedWriter ,Copy文件 ##
## 第三讲 ##
“package com.kaka.buffered;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
/**
*利用BufferedReader 和 BufferedWriter 来 copy文件
*
* @author Administrator
*
*/
public class BufferedReaderCopy {
public static void main(String[] args) {
bufferedCopyMethod();
}
private static void bufferedCopyMethod() { // TODO Auto-generated method stub BufferedReader br=null; BufferedWriter bw=null; try { br=new BufferedReader(new FileReader("C:\\Documents and Settings\\Administrator" + "\\桌面\\HeiMa\\src\\com\\kaka\\io\\test1.java")); try { bw=new BufferedWriter(new FileWriter("d:\\java.txt")); String str=null; while((str=br.readLine())!=null){ //写入文件 bw.write(str); //换行 bw.newLine(); //刷新 bw.flush(); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ if(br!=null) try { br.close(); if(bw!=null) bw.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
}
## 装饰设计模式 ##
第四讲 自定义BufferedReader 里面的 readLine()和 close()
这个世界sb很多这里写代码片package com.kaka.buffered;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
/**
*
* 自定义BufferedReader
*
* @author Administrator
*
*/
public class CustomBufferedReader {
public static void main(String[] args) { //字符流 FileReader fr=null; MyBufferedReader mbr=null; try { fr = new FileReader("C:\\Documents and Settings\\Administrator" + "\\桌面\\HeiMa\\src\\com\\kaka\\io\\test1.java"); //自定义的缓冲流 mbr=new MyBufferedReader(fr); String len=null; while((len=mbr.myreadLine())!=null){ System.out.println(len); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ try { if(mbr!=null) mbr.myClose(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }
}
}
}
MyBufferedReader 这个类就是装饰类
//模拟BufferedReader类 里面 readLine()方法和 close()方法class MyBufferedReader{
//文件流
public FileReader fr;
//内部类的构造函数
MyBufferedReader(FileReader fr) {
super();
this.fr = fr;
}
//读取 一行 的方法 public String myreadLine(){ //定义一个字符串容器 StringBuilder sb=new StringBuilder(); int len=0; try { while((len=fr.read())!=-1){ if(len=='\r') continue; if(len=='\n') return sb.toString(); else{ sb.append((char)len); } } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } //不管 有没有\n,只要sb有就必须返回 if(sb.length()!=0) return sb.toString(); return null; } //关闭的方法 public void myClose() throws IOException{ fr.close(); }
}
## 装饰设计模式 将被增强的对象传给增强的类 ##
对原来类功能的增强 例如:FileReader 的增强类(也就是装饰类) BufferedReader(new FileReader())
毕老师的视频讲解源码
package com.kaka.buffered;/**
*
* 装饰设计模式
* @author Administrator
*
*/
public class ModelBufferedReader {
public static void main(String[] args) {
Person p=new Person();
// p.feed();
SuperPerson sp=new SuperPerson(p);
sp.superFeed(); }
}
//装饰之前的类
class Person{
//装饰前的方法
public void feed(){
System.out.println(“吃饭”);
}
}
//装饰的类
class SuperPerson{
private Person p; public SuperPerson(Person p) { super(); this.p = p; } //增强的吃饭的方法 public void superFeed(){ System.out.println("喝汤"); System.out.println("吃水果"); p.feed(); System.out.println("睡觉"); }
}
相关文章推荐
- 黑马程序员---2015.6.24java基础笔记--FileWriter- FileReader-BufferedWriter-BufferedReader
- 黑马程序员_java_IO流_FileWriter_FileReader_BufferedWriter_BufferedReader_IO异常
- 黑马程序员 java基础IO BufferedReader
- Java的IO操作(五) - PrintStream类、字符流、Reader和Writer、带缓冲的字符流BufferedReader和BufferedWriter
- Java的IO操作(五) - PrintStream类、字符流、Reader和Writer、带缓冲的字符流BufferedReader和BufferedWriter
- Java基础---Java---IO流-----BufferedReader、BufferedWriter、缓冲区、装饰设计模式及和继承的区别
- 关于java的io读写,缓冲区是如何提高读写效率的???
- Java基础---Java---IO流-----BufferedReader、BufferedWriter、缓冲区、装饰设计模式及和继承的区别
- 黑马程序员 java基础IO FileReader FileWriter
- java基础知识回顾之javaIO类---BufferedReader和BufferedWriter
- 黑马程序员——java基础 io 流 四个基类InputStream,OutputStream,Reader,Writer
- 黑马程序员——Java基础——IO流笔记(BufferedReader使用示例)
- 黑马程序员-JAVA高级视频_IO输入与输出-19天-4(MyBufferedReader)
- 黑马程序员——java基础 io 转换流的应用(InputStreamReader,OutputStreamWriter)
- java IO 之BufferedReader和BufferedWriter
- 黑马程序员 java IO PrintWriter BufferedReader 读取键盘 写操作
- Java_io体系之BufferedWriter、BufferedReader简介、走进源码及示例——16
- Java的IO操作(五) - PrintStream类、字符流、Reader和Writer、带缓冲的字符流BufferedReader和BufferedWriter .
- Java_io体系之BufferedWriter、BufferedReader简介、走进源码及示例——16
- 黑马程序员 java基础IO BufferedInputStream