Java实现复制文件

一、Java–复制文件

import java.io.*;

public class App {
    public static void main(String[] args) throws Exception {
        System.out.println("Hello, World!");
        FileInputStream fis = new FileInputStream("E:\\Google-download\\jigong.mp4");
        BufferedInputStream bis = new BufferedInputStream(fis);
        FileOutputStream fos = new FileOutputStream("D:\\Video\\jigong.mp4");
        BufferedOutputStream bos = new BufferedOutputStream(fos);
        byte[] car = new byte[1024];
        int len = 0;
        while ((len = bis.read(car)) != -1){
            bos.write(car,0,len);
        }
        
        bis.close(); fis.close();
        bos.close(); fos.close();
    }
}
  • 这里使用了Buffer,一次传输1024个字节,速度有显著提升。

二、Java写对象到文件

这里有一个Student类,现在将它保存到文件student1.ojb中,然后读取文件的信息。

  • 两个java文件
    • Student.java
    • ObjectToFile.java
import java.io.Serializable;

public class Student implements Serializable{
    private String name;
    private String gender;
    private String stuNum;
    private float height;
    private float weight;
    //auto generate getter and setter
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getGender() {
        return gender;
    }
    public void setGender(String gender) {
        this.gender = gender;
    }
    public String getStuNum() {
        return stuNum;
    }
    public void setStuNum(String stuNum) {
        this.stuNum = stuNum;
    }
    public float getHeight() {
        return height;
    }
    public void setHeight(float height) {
        this.height = height;
    }
    public float getWeight() {
        return weight;
    }
    public void setWeight(float weight) {
        this.weight = weight;
    }
    // auro generate toString
    @Override
    public String toString() {
        return "Student [gender=" + gender + ", height=" + height + ", name=" + name + ", stuNum=" + stuNum
                + ", weight=" + weight + "]";
    }
    // auto generate constructor
    public Student(String name, String gender, String stuNum, float height, float weight) {
        this.name = name;
        this.gender = gender;
        this.stuNum = stuNum;
        this.height = height;
        this.weight = weight;
    }  
}
import java.io.*;

public class ObjectToFile {
    public static void main(String[] args) throws Exception {
        System.out.println("Hello, World!");
        Student stu1 = new Student("xwp", "male", "5378", 165.8f, 52.3f);
        // Write object to a file
        FileOutputStream fos = new FileOutputStream("D:\\video\\student1.obj");
        ObjectOutputStream oos = new ObjectOutputStream(fos);
        oos.writeObject(stu1);
        oos.close(); fos.close();

        // Read object from a file
        FileInputStream fis = new FileInputStream("D:\\video\\student1.obj");
        ObjectInputStream ois = new ObjectInputStream(fis);
        Student student = (Student)ois.readObject();
        ois.close(); fis.close();
        System.out.println(student);
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值