一、基础案例
1.训练案例1
1.1.训练描述:【InputStreamReader OutputStreamWriter】
一、需求说明:以UTF-8编码的格式写出 “你好”到文件中, 并将数据正确的读取出来打印在控制台
1.2.操作步骤描述
1.创建OutputStreamWriter关联文件, 并在构造方法中指定编码表
2.调用writer方法写出字符串
3.创建InputStreamReader关联文件, 并在构造方法中指定码表进行读取
4. 调用read方法读取数据, 打印在控制台
public class test01 {
public static void main(String[] args) throws IOException {
OutputStreamWriter osw=new OutputStreamWriter(new FileOutputStream("01.txt"),"UTF-8");
osw.write("你好");
osw.close();
InputStreamReader isr=new InputStreamReader(new FileInputStream("01.txt"),"UTF-8");
int b;
while((b=isr.read()) !=-1){
System.out.print((char)b);
}
isr.close();
}
}
2.训练案例2
2.1.训练描述:【BufferedReader、BufferedWriter】
一、需求说明:字符缓冲区流的特殊功能复制Java文件
2.2.操作步骤描述
1.创建BufferedReader输入流对象关联源文件
2.创建BufferedWriter输出流对象关联目标文件
3.调用readLine方法不断的读取,只要不等于null 说明没有读取完毕
4.调用writer方法直接写出字符串,但是要加上newLine方法手动换行
5.关闭流释放资源
public class test02 {
public static void main(String[] args) throws IOException {
BufferedReader br=new BufferedReader(new FileReader("aa.txt"));
BufferedWriter bw=new BufferedWriter(new FileWriter("b.txt"));
String line;
while((line=br.readLine()) !=null){
bw.write(line);
bw.newLine();
}
br.close();
bw.close();
}
}
3.训练案例3
3.1.训练描述【BufferedReader BufferedWriter】
一、需求说明:
a)将集合中Student对象的信息写入当前项目下的stuInfo.txt当中
b)再读取stuInfo.txt的内容到集合中,遍历集合打印数据
二、补充说明:
a)写出信息的格式: it001,张曼玉,35,北京
b)输出信息的格式: it001,张曼玉,35,北京
3.2.操作步骤描述
分析:
1.创建Student类,用于封装数据
2.创建集合对象,将学生对象添加到集合中
3.创建输出流对象关联stuInfo.txt文件
4.遍历集合对象获取到每一个Student, 再用StringBuilder拼接成指定的格式并写出
5.关闭输出流对象
6.创建BufferedReader输入流对象关联stuInfo.txt, 因为有读取一行的方法
7.创建集合对象用于存储读取到的Student(也可以将原集合清空)
8.将读取到的每一行数据通过split方法切割,再将切割后的信息封装成Student对象
9.将学生对象添加到集合中
10.关闭输入流对象
11.遍历集合并打印
public class test03 {
public static void main(String[] args) throws IOException {
ArrayList<stu> array=new ArrayList<>(