键盘读取输入输出:
public static void main(String[] args) throws IOException {
//字节输入流
InputStream in = System.in;
//转换流 将字节流转换成字符流
InputStreamReader isr = new InputStreamReader(in);
//装饰者模式 使用BufferedReader
BufferedReader br = new BufferedReader(isr);
//字节输出流
OutputStream out = System.out;
// ^
// | 字节流
// | 转换流 将要输出的字符流转换成字节流
OutputStreamWriter osw = new OutputStreamWriter(out);
// ^
// | 数据到了osw然后再次传送 目的地是out 控制台
// | 同样使用装饰者模式增强
BufferedWriter bw = new BufferedWriter(osw);
//循环读取输出
String line = null;
while((line = br.readLine())!=null){
if(line.equals("over")){
break;
}
else{
// | 数据写入缓冲区
bw.write(line.toUpperCase());
bw.newLine();
bw.flush();
}
}
}
将一个文件中的数据变成大写之后复制到另一个文件中:
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("c:\\Users\\悠悠华\\Desktop\\test\\a.txt")));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("c:\\Users\\悠悠华\\Desktop\\test\\b.txt")));
String line = null;
while((line = br.readLine())!=null){
if(line.equals("over")){
break;
}
else{
// | 数据写入缓冲区
bw.write(line.toUpperCase());
bw.newLine();
bw.flush();
}
}
}
注意:当文本操作涉及到制定编码表时需要使用转换流