形象理解Java io流。比如水龙头的管道就是一个流:流分为输入和输出,输入流就是水龙头抽水库的水(FileInputStream 将水抽到管道里)。输出流就是水龙头降水注入到装水的水缸。现在有个X.txt,你要读取里面的信息,就相当于要从水库抽水,送到管道里,这时候要用到FileInputStream。读取完并对数据进行了一些操作之后,需要写到另一个Y.txt文件中。这时候相当于水龙头把水放到水缸中,要用到FileOutputStream。
Java IO流的作用很大,Java的输入输出都是以流的形式,包括文件的读写和网络传输。Java IO流用统一的方法,对来自不同地方,送到不同地方的数据进行操作。方便了使用。
确定需要使用的流对象的最基本规律:
1.源和目的:
源:输入流 InputStream Reader
目的:输出流 OutputStream writer
2:操作的数据是不是纯文本:
是:字符流
否:字节流
3.通过设备划分:
源设备:内存 硬盘 键盘
目的设备:内存 硬盘 控制台
简单IO操作:基本目标 用户输入字符,如果输入‘#’停止输入,其余字符输出到工程目录下的文件a.txt中。
package com.jmd.bingo;
import java.io.*;
public class Iotest {
public static void main(String[] args) throws IOException {
String str;
System.out.println("输入字符,存到文件中,输入‘#’结束");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
PrintWriter pw = new PrintWriter(new FileWriter("a.txt",true));
while((str = br.readLine()) != null) {
System.out.println("你输入了:"+ str);
if (str.equals("#")) {
break;
}
pw.println(str);
}
pw.close();
br.close();
}
}