一、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);
}
}