IO流的操作规律之设计方案练习

public class need1 {


// 需求1:复制一个文本文件。
@Test
public void Need1() throws IOException {
// 1、明确源和目的。
// Reader
// 2、处理的数据是否是纯文本的数据?
// 是纯文本文件用Reader和Writer
// 3、明确数据所在的设备。
// 在内存File+2,即FileReader和FileWriter
// FileReader fr=new FileReader("a.txt");
// FileWriter fw=new FileWriter("b.txt");
// 4、明确是否需要额外功能?
// 加一个Buffered功能
// BufferedReader br=new BufferedReader(fr);
// BufferedWriter bw=new BufferedWriter(fw);
BufferedReader br = new BufferedReader(new FileReader("a.txt"));
BufferedWriter bw = new BufferedWriter(new FileWriter("b.txt"));


String str = "";
while ((str = br.readLine()) != null) {
bw.write(str);
}
br.close();
bw.close();
}


// 复制一个图片文件。
@Test
public void Need2() throws IOException {
// 1、明确源和目的。
// 2、处理的数据是否是纯文本的数据?
// 否:InputStream和OutputStream
// 3、明确数据所在的设备。
// 内存:file+


// FileInputStream fin = new FileInputStream("1.jpg");
// FileOutputStream fout = new FileOutputStream("2.jpg");
// 4、明确是否需要额外功能?
// buffered
// BufferedInputStream bufin = new BufferedInputStream(fin);
// BufferedOutputStream bufout = new BufferedOutputStream(fout);
// bufin.close();
// bufout.close();
}


// 读取键盘录入,存储到一个文件中。
@Test
public void Need3() throws IOException {
// 1、明确源和目的。
// Reader和Writer
// 2、处理的数据是否是纯文本的数据?
// 是:Reader和Writer
// 3、明确数据所在的设备
// InputStream in = System.in;
// FileWriter fw = new FileWriter("a.txt");


//
// System.in和System.out
// 4、明确是否需要额外功能?
InputStreamReader is = new InputStreamReader(System.in);// 接收从键盘读入的用InputStream
FileWriter fw = new FileWriter("c.txt");
BufferedReader br = new BufferedReader(is);
BufferedWriter bw = new BufferedWriter(fw);
String str="";
while((str=br.readLine())!=null){
bw.write(str);
bw.flush();//需要刷新
bw.newLine();
}
br.close();
bw.close();
}



//读取一个文本文件,显示到显示器上。
@Test
public void Need4() throws IOException {
// 1、明确源和目的。


// 2、处理的数据是否是纯文本的数据?


// 3、明确数据所在的设备。


// 4、明确是否需要额外功能?
FileReader is = new FileReader("b.txt");// 接收从键盘读入的用InputStream
OutputStreamWriter fw = new OutputStreamWriter(System.out);
BufferedReader br = new BufferedReader(is);
BufferedWriter bw = new BufferedWriter(fw);
String str="";
while((str=br.readLine())!=null){
bw.write(str);
bw.flush();
}
br.close();
bw.close();
}



//读取一个文本文件,将文本按照指定的编码表UTF-8写入到另一个文件中。
@Test
public void Need5() throws IOException {
// 1、明确源和目的。


// 2、处理的数据是否是纯文本的数据?


// 3、明确数据所在的设备。


// 4、明确是否需要额外功能?
FileReader fr = new FileReader("file/sqe/a.txt");
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("file/sqe/b.txt"),"utf8");
BufferedReader bufr = new BufferedReader( fr);
BufferedWriter bufw = new BufferedWriter( osw );
int len=0;
while((len=bufr.read())!=-1){
bufw.write(len);
bufw.flush();
}

bufr.close();
bufw.close();
}


}

需求1:复制一个文本文件。
需求2:复制一个图片文件。
需求3:读取键盘录入,存储到一个文件中。
需求4:读取一个文本文件,显示到显示器上。
需求5:读取一个文本文件,将文本按照指定的编码表UTF-8写入到另一个文件中。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值