根据流的方向,分为输入流和输出流
数据源--------------------->程序
Java三个直接使用的流对象:
(1)System.in(标准输入流)
InputStream对象
(2)System.out(标准输出)
PrintStream对象
(3)System.err(标准错误输出)
PrintStream对象
流:字节流、字符流
字节输入流InputStream
字节输出流OutputStream
字符输入流Reader
字符输出流Writer
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/**
* @author
* @description:简单输入输出流使用范例
* date
*/
public class TestIO {
public static void main(String[] args) {
System.out.print("请输入字符:");
//创建输入流对象结合搜键盘System.in的输入
InputStreamReader inputStreamReader = new InputStreamReader(System.in);
//以缓冲流模式来接收
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
try {
String s = bufferedReader.readLine();
System.out.println("你输入的内容为:"+s);
} catch (IOException e) {
System.err.println("发生I/O错误");
e.printStackTrace();
}
}
}
@Test
public void test7() throws IOException {
//带缓冲区的字符流
//扩充原有类功能装饰器
BufferedWriter bw = new BufferedWriter(new FileWriter("2.txt"));
bw.write("测试功能");
bw.flush();
bw.close();
}
@Test
public void test8() throws IOException {
BufferedReader br = new BufferedReader(new FileReader("2.txt"));
String line=null;
while((line=br.readLine())!=null){
System.out.println(line);
}
}
//缓冲区读写复制文件
@Test
public void test9() throws IOException {
BufferedReader br = new BufferedReader(new FileReader("2.txt"));
BufferedWriter bw = new BufferedWriter(new FileWriter("4.txt"));
String line=null;
while ((line=br.readLine())!=null){
System.out.println(line);
bw.write(line);
bw.newLine();
}
bw.close();
}