write写入数据时需要close关闭
0x01、文件和目录操作



代码示例:
import java.io.File;
public class Hello2 {
public static void main(String args[]) {
//File x = new File(".");
//System.out.print(x.getAbsolutePath());//输出当前目录
File x = new File("xyz");
//x.mkdir();//创建文件
x.delete();//删除文件
}
}
0x02、面向字节的输入输出流





例1:在屏幕上显示文件内容

例2:找出10~100之间的所有姐妹素数,写入到文件中,所谓姐妹素数是指相邻两个奇数均为素数。


读取存储在文件中的姐妹素数

例3:将系统对象写入到文件

例4:读取文件中的对象并显示出来

0x03、面向字符的输入输出流


例1、从一个文本文件中读取数据加上行号后显示

例2、在屏幕上显示文件内容



例3、用FileWriter将某个文件加行号写入另一个文件

例4:编程显示一个文本文件的内容
import java.io.*;
public class Hello2 {
public static void main(String args[]) throws IOException {
FileReader f=new FileReader("x.txt");
int x=f.read();
while(x!=-1) {
System.out.print((char)x);
x=f.read();
}
}
}输出结果:

0x04、转换流


0x05、文件的随机访问

例1、用随机文件记录访问计数

例2:模拟应用日志处理,将键盘输入数据写入到文件尾部

作业:从一个文本文件中读取若干学生成绩,每个学生成绩占1行,统计所有学生成绩的平均分
import java.io.*;
public class Hello2 {
public static void main(String args[]) throws IOException {
FileReader f=new FileReader("x.txt");
BufferedReader br = new BufferedReader(f);
String str="";
int count=0;
double sum=0,aver=0;
while((str=br.readLine()) != null) {
int a = Integer.parseInt(str);
count++;
sum += a;
System.out.println("同学的成绩为:"+a);
}
aver = sum/count;
br.close();
System.out.println("所有学生的平均成绩为:"+aver);
}
}输出结果:

















