java已经有强大的类库,其中有一类就是IO读写的类。以下是进行文件的复制。
//用原始的字节流技术来读取文件
public
static
void
test()
throws
Exception
{
File f= new File("D:\\aa.txt");
String s=f.getName();
FileInputStream in=new FileInputStream(new File("D:\\aa.txt"));
FileOutputStream out=new FileOutputStream(new File("E:\\"+s));
byte b[]=new byte[1024];
int num=0;
while((num=in.read(b))!=-1){
out.write(b, 0, num);
}
out.close();
in.close();
}
//用缓冲流技术来读取文件
public static void test2() throws Exception{
BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(new File("D:\\aa.txt")))); //读一行
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out)); //换行
String line=null;
while((line=br.readLine())!=null){
bw.write(line); //读取一行,换行
bw.newLine();
}
bw.close();
br.close();
}
java序列化对象
//谈到序列化:这涉及到文件网络传输,一般为了安全,都会将文件序列化,达到客户端时,再反序列化。进行解密。
序列化之前,首先对象都要实现Serializable接口。
public
class
StuManage
implements
Serializable {
private ArrayList<Student> a;
public StuManage(){
this.a=new ArrayList<Student>();
}
public void addStu(Student s){
a.add(s);
}
public void showStu(){
for(Student s:a){
System.out.println(s);
}
}
}
/* 序列化 , 保存*/
public static void main(String[] args)throws IOException {
StuManage sm=new StuManage();
sm.addStu(new Student("晓晓","boy",98));
sm.addStu(new Student("莉莉","boy",88));
sm.addStu(new Student("张聊","girl",76));
sm.addStu(new Student("肖凌","girl",99));
FileOutputStream fos=new FileOutputStream(new File("E:\\xlh2.bin"));
ObjectOutputStream oos=new ObjectOutputStream(fos);
oos.writeObject(sm);
oos.close();
fos.close();
System.out.println("序列化完成!");
}
/*
反序列化的过程 读
*/
public static void main(String[] args) throws IOException,ClassNotFoundException{
FileInputStream fis=new FileInputStream(new File("E:\\xlh2.bin"));
ObjectInputStream ois =new ObjectInputStream(fis);
StuManage o= (StuManage)ois.readObject();
o.showStu();
fis.close();
ois.close();
}