1、 字节流与二进制文件

1.我的代码

public class Student {
private int id;
private String name;
private int age;
private double grade; public Student(){ }
public Student(int id, String name, int age, double grade) {
this.id = id;
this.setName(name);
this.setAge(age);
this.setGrade(grade);
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
if (name.length()>10){
throw new IllegalArgumentException("name's length should <=10 "+name.length());
}
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
if (age<=0){
throw new IllegalArgumentException("age should >0 "+age);
}
this.age = age;
}
public double getGrade() {
return grade;
}
public void setGrade(double grade) {
if (grade<0 || grade >100){
throw new IllegalArgumentException("grade should be in [0,100] "+grade);
}
this.grade = grade;
} }
public class Main {
public static void main(String[] args)
{
String fileName="d:\\testStream\\0\\student.data";
try(DataOutputStream dos=new DataOutputStream(new FileOutputStream(fileName)))
{
Student stu1=new Student(1,"zhang",13,80);
dos.writeInt(stu1.getId());
dos.writeUTF(stu1.getName());
dos.writeInt(stu1.getAge());
dos.writeDouble(stu1.getGrade());
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try(DataInputStream dis=new DataInputStream(new FileInputStream(fileName)))
{
int id=dis.readInt();
String name=dis.readUTF();
int age=dis.readInt();
double grade=dis.readDouble();
Student stu=new Student(id,name,age,grade);
System.out.println(stu);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

2. 你的体会

二进制文件与文本文件的区别

文本文件与二进制文件的区别并不是物理上的,而是逻辑上的。这两者只是在编码层次上有差异。简单来说,文本文件是基于字符编码的文件,常见的编码有ASCII编码,UNICODE编码等等。二进制文件是基于值编码的文件,你可以根据具体应用,指定某个值是什么意思(这样一个过程,可以看作是自定义编码。

try...catch...finally注意事项

当try捕捉到异常时,寻找匹配的catch语句执行,最后执行finally的语句。当try为捕捉到异常时,接着跳过catch执行fianlly语句。当catch中出现了return语句时,先执行完finally中的语句再执行return语句

2. 字符流与文本文件:使用 PrintWriter(写),BufferedReader(读)


3、回忆整个学期,如果重新来过一次,你打算做哪些(技术上,而不是态度上的)改变?


4、你预备如何规划剩余的2/3?


5.对于马上入学的2019级新生,如何学习专业课程(C语言、数据结构、计算机网络等),请给出你的建议。

c语言


数据结构


计算机网络


6.自由发挥



最新文章

  1. UC浏览器 分享到朋友圈和微信好友 分类: JavaScript 2015-04-28 14:45 615人阅读 评论(1) 收藏
  2. ACM: FZU 2110 Star - 数学几何 - 水题
  3. array_unshift() 、
  4. Linux简介及常用命令使用2--linux常用命令:查看 删除 编辑 创建等
  5. IOS52种提高效率的方法
  6. CSS权威指南 - 浮动和定位 2
  7. Hibernate4.2.2使用Annotation配置
  8. ubuntu64bits环境下搭建Opencl的环境
  9. ThreadLocal 和Synchronized
  10. js 中 json对象 与 json字符串 间相互转换
  11. Sublime Text2使用技巧
  12. MySQL Windows ZIP 免费安装和启动设置
  13. Ural Vol1(dif&gt;=900)
  14. Java:类类型变量
  15. Nginx完整配置配置样例【官方版】
  16. 函数调用堆栈及活动记录 堆栈溢出 stack overflow
  17. 使用基于 PHP 的开源软件 YOURLS 搭建短链接地址服务
  18. 深入JAVA注解之方法注解
  19. 在eclipse中执行sql
  20. C#获取IP信息

热门文章

  1. 第二章 单表查询 T-SQL语言基础(2)
  2. 01 Redis基础
  3. C语言typedef详解
  4. UITableViewCell背景色.选中背景色,分割线,字体颜色设置
  5. Rust 基础学习
  6. Jenkins+GitHub 项目环境搭建(一)
  7. html 中 图片和文字一行 垂直居中对齐
  8. 浙大数据结构课后习题 练习一 7-1 Maximum Subsequence Sum (25 分)
  9. 对比MySQL,你究竟在什么时候更需要MongoDB(转载)
  10. 关于nmap扫描端口