将数据从外设或外存(如:键盘、鼠标、文件)传递到应用程序的流称为输入流(input stream);将数据从应用程序传递到外存或外设(屏幕、打印机)的流称为输出流(output stream)。即:输入流读取数据(这里指的是应用程序读取数据),输出流写入数据(这里指的是应用程序写入数据)。
数据的储存分为:字符和二进制 字符一般为txt文件 二进制为图片,音乐等。
输入输出流按照处理数据的类型分为:字节流(bate stream)和字符流(character stream)。
字节流:处理字节数据(基本类型为InputStream、OutputStream)
字符流:处理字符数据(基本类型为Reader、Writer)
对文件的读写都要借助缓存区
public static void main(String[] args) {
BufferedWriter bw=null;
FileReader fr=null;
BufferedReader br=null;
try {
fr=new FileReader("F:\test\tx.txt");//打开文件tx.txt到读取缓存区的通道
br=new BufferedReader(fr) ; //读取文件tx.txt内容到缓存区
String l=br.readLine();//读取tx.txt文件的内容到应用程序
FileWriter fr1=new FileWriter("f://test//test_write.txt");打开文件test_write.txt到写入缓存区的通道
bw=new BufferedWriter(fr1); //写入到写入缓存区
//循环读取tx.txt文件的内容将读取的内容写入到test_write.txt
while(l!=null)
{
System.out.println(l);
bw.write(l);//写入内容
bw.newLine();//换行
l=br.readLine();//读取内容
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
br.close();
fr.close();
bw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}