黑马程序员——IO流(二)
package Excr19;
public class Demo15 {
/**
* 源:键盘录入
* 目的:控制台
*
* 把键盘录入的数据存储到一个文件中
* 院:键盘
* 目的:文件
*
* 把一个文件的数据打印纸控制台上
* 源:文件
* 目的:控制台
*
*
* 流操作的基本规律:
* 流对象有很多,不知道该用哪一个
* 通过两个明确来完成:
* 1.明确源和目的
* 源:输入流 inputstream reader
* 目的:输出流 outputstream writer
* 2.明确操作的数据是否是纯文本
* 是:就要字符流
* 不是:字节流
* 3.当体系明确后,在明确要使用的的具体的对象
* 通过设备来进行区分
* 源设备:内存,硬盘,键盘
* 目的设备:内存,硬盘,控制台
*
*
* 1.将一个文本文件中的数据存储到另一个文本文件中
* 复制文件
* 分析:
* 源:文件 inputStream Reader
* 因为是源,所以使用读取流、
* 操作文本文件,选择Reader
* 明确对象:
* 要使用该体系中的Reader体系中可以操作文件的对象是 filereader
* 是否需要提高效率:
* 如果是加入Reader体系中的缓冲区BuffereReader
*
* 目的:文件
* outoutStream writer
* 也是纯文本的,用writer
* 设备:硬盘,一个文件。
* writer体系中可以操作文件的对象filewriter
*
* filewriter fw =new filewriter(“b。txt”)
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
package Excr19;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class Demo13 {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
//获取键盘录入对象
InputStream inputStream=System.in;
//将字节流对象转成字符流对象,使用转换率,inputStreamReader
InputStreamReader inputStreamReader=new InputStreamReader(inputStream);
//为了提高效率,将字符流串进行缓冲区技术高效操作,使用BufferedReader
BufferedReader bufferedReader=new BufferedReader(inputStreamReader);
String lineString=null;
while ((lineString=bufferedReader.readLine())!=null) {
if ("over".equals(lineString)) {
break;
}
System.out.println(lineString.toUpperCase());
}
bufferedReader.close();
}
}
package Excr19;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
public class Demo14 {
/**
* 字符转字节
* 录得时候是字符,但是存的时候是字节
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
InputStream inputStream=System.in;
InputStreamReader inputStreamReader=new InputStreamReader(inputStream);
OutputStream out=System.out;
BufferedReader bufferedReader=new BufferedReader(inputStreamReader);
OutputStreamWriter outputStreamWriter=new OutputStreamWriter(out);
BufferedReader bufferedReader2=new BufferedReader(outputStreamWriter);
String lineString=null;
while((lineString=bufferedReader.readLine())!=null){
if ("over".equals(lineString)) {
break;
outputStreamWriter.write(lineString.toUpperCase()+"\r\n");
outputStreamWriter.flush();
}
}
bufferedReader.close();
}
}