1.使用File类操作文件
2.FileReader,FileWriter,进行文件的操作
BufferedReader,BufferedWriter,进行文件缓冲区操作
DataInputStream,DataOutputStram,指定数据类型操作文件
3.关闭流
// 实例化File对象
File file = new File("E:\\tmp\\test.txt");
// 当前文件是否存在以及当前文件是否是一个普通文件
if (file.exists() && file.isFile()) {
System.out.println("该文件已存在,覆盖");
} else {
System.out.println("文件不存在,新建文件");
}
// 通过键盘输入获取写入的信息
// 实例化一个BufferReader对象
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line = null;
// 实例化一个dataOutputStrem对象
DataOutputStream dos = new DataOutputStream(new FileOutputStream(file));
// 读到的写入信息不为null
while ((line = br.readLine()) != null) {
if (line.toLowerCase().equals("end")) {
break;
}
// 写入信息
dos.writeBytes(line + "\r\n");
}
dos.close();
br.close();
// 读取键盘输入信息
BufferedReader br_read = new BufferedReader(new FileReader(file));
String str=null;
System.out.println("输出文件内容");
while ((str = br_read.readLine()) != null) {
System.out.println(str);
}
System.out.println("文件读取完毕");
br_read.close();
重定向标准IO流
System.in :inputStream类型,标准输入流,默认的数据源是键盘
System.out:PringStream类型,标准输出流,默认控制台
System.err:PringStream类型,标准错误输出流
以上三个在java.lang.System包中,他们出去整个java中打开状态
//重定向输出到文件
FileOutputStream fos = new FileOutputStream("E:\\tmp\\hello.txt");
PrintStream ps = new PrintStream(fos);
System.setOut(ps);
System.out.println("这sdfsdfdsf中");
System.out.println(new NormIo());
fos.close();
ps.close();
// 重定向标准输入流
/*FileInputStream fis = new FileInputStream("E:\\tmp\\hello.txt");
System.setIn(fis);
// 读取内容
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line = null;
System.out.println("读取标准输入流");
while ((line = br.readLine()) != null) {
System.out.println(line);
}
System.out.println("读取结束");
br.close();*/