zoukankan      html  css  js  c++  java
  • yue

    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.自由发挥

    
    
    
  • 相关阅读:
    框架应用; Bootstrap4 框架
    框架做抖动、框架做日期
    图片轮播
    锤子手机的部分页面
    js练习题:说明事件、经过或移出时出现按钮等、网页换肤、显示隐藏、下拉、横向导航点击(移上)下拉、选项卡、进度条
    js常用对象:点击、双击、onload事件、鼠标相关、onblur事件和onfocus事件等;通过循环给多个元素添加事件、通过addEventListener() 方法 监听事件函数
    js数组、对象、函数基础知识点及数组类习题练习
    判断某个对象是不是数组
    关于使用绝对定位使元素垂直居中的问题
    mousewheel事件的兼容方法
  • 原文地址:https://www.cnblogs.com/2084624983yue/p/11937919.html
Copyright © 2011-2022 走看看