1、熟悉字节流和字符流读写文件的操作;
2、熟悉如何使用File类访问文件系统;
3、掌握如何处理中文乱码。
1、输入输出字节流类中包含哪些方法,分别有什么功能;
2、输入输出字符流类中包含哪些方法,分别有什么功能;
3、标准输入输出流类中包含哪些方法,功能分别是什么;
4、File类中提供访问文件的方法有哪些,功能是什么;
5、了解什么是字符编码,字符编码和解码是如何实现的,字符传送方式。
1、拷贝一张图片pic.jpg,从一个目录D:source到另外一个目录D:target里面。
参考代码:
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;public class Test1 {public static void main(String[] args) throws IOException {FileInputStream in = new FileInputStream("D:/source/pic.jpg");FileOutputStream out = new FileOutputStream("D:/target/pic.jpg");int len = 0;while ((len = in.read()) != -1) {out.write(len);}System.out.println("复制成功!");in.close();out.close();}
}
运行截图:
2、在D盘下有一个文本文件(里面的内容由数字和字母组成), 定义一个方法统计文件中’a’字符出现的次数,并写到中。
参考代码:
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;public class Test2 {public static void main(String[] args) throws IOException {File file = new File("D:\");Reader in = new FileReader(file);int count = 0;if (file.isFile() && file.length() != 0) {int c = 0;while ((c = in.read()) != -1) {if ((char) c == 'a') {count++;}}System.out.println("a在文件中共出现了" + count + "次");} else {System.out.println("文件不合法");}//写入文件FileWriter fileWriter = new FileWriter("D:\");fileWriter.write("a在文件中共出现了" + count + "次");fileWriter.close();}
}
运行截图:
3、从控制台接收3名学员的信息,每条信息存储到一个Student对象中,将多个Student对象存储到一个集合中。输入完毕后,将所有学员信息存储到文件中。每名学员信息存储一行,多个属性值中间用逗号隔开。
参考代码:
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;class Student {String num;String name;String sex;String age;public Student() {super();}public Student(String num, String name, String sex, String age) {super();this.num = num;this.name = name;this.sex = sex;this.age = age;}public String getNum() {return num;}public void setNum(String num) {this.num = num;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public String getAge() {return age;}public void setAge(String age) {this.age = age;}@Overridepublic String toString() {return "num=" + num + ", name=" + name + ", sex=" + sex + ", age=" + age;}}public class Test3 {public static void main(String[] args) throws IOException {ArrayList<Student> list = new ArrayList<Student>();Scanner sc = new Scanner(System.in);for (int i = 1; i <= 3; i++) {System.out.print("请输入第" + i + "名学生的学号:");String num = sc.next();System.out.print("请输入第" + i + "名学生的姓名:");String name = sc.next();System.out.print("请输入第" + i + "名学生的性别:");String sex = sc.next();System.out.print("请输入第" + i + "名学生的年龄:");String age = sc.next();// 把信息封装到Student对象中Student s=new Student();s.setNum(num);s.setName(name);s.setSex(sex);s.setAge(age);// 把Student对象存到集合里list.add(s);}//写入文件FileWriter out = new FileWriter("D:\");for (int i = 0; i<list.size(); i++) {Student s = (i);out.String());out.write(System.lineSeparator());}System.out.println("学生信息信息写入成功!");out.close();// 关闭流}
}
运行截图:
通过本次实验学会了如何使用字节流和字符流来读写磁盘上的文件,知道了如何使用file对象访问本地文系统以及file类的常用主要用法,熟练掌握了I/O流对文件的读写的常用方法。
本文发布于:2024-02-05 07:20:17,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170727241264366.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |