//将字节流转换为字符流
FileInputStream in = new FileInputStream(srcFile) ;
InputStreamReader isr = new InputStreamReader(in,"utf-8");
int c;
//read方法返回-1表示读取结束while((c=isr.read())!=-1){
System.out.print((char) c);
}
FileOutputStream out = new FileOutputStream(destFile);
OutputStreamWriter osd = new OutputStreamWriter(out, "gbk");
int c;
while((c=isr.read())!=-1){
System.out.print((char) c);
osd.write(c);
osd.flush();
}
osd.close();
FileReader & FileWriter
FileReader fr = new FileReader("demo/eric.txt");//后面可以放路径也可以放文件
FileWriter fw = new FileWriter("demo/sun.txt");
//FileWriter fw = new FileWriter("demo/sun.txt",true);追加int c;
char [] buffer = newchar[2056];
while((c=fr.read(buffer,0,buffer.length))!=-1){
fw.write(buffer,0,c);
fw.flush();
}
fw.close();
fr.close();
BufferedReader & BufferedWriter
BufferedReader br =new BufferedReader( new InputStreamReader(new FileInputStream("demo/eric.txt"), "gbk"));
BufferedWriter bw=new BufferedWriter( new OutputStreamWriter(new FileOutputStream("demo/sun.txt")));
String line ;
while((line = br.readLine()) !=null ){
System.out.println(line);
bw.write(line);
bw.newLine();//字符串过滤器不认识换行符得添加bw.flush();
}
br.close();
bw.close();
PrintWriter
BufferedReader br =new BufferedReader( new InputStreamReader(new FileInputStream("demo/eric.txt"), "gbk"));
PrintWriter pr = new PrintWriter("demo/sun.txt");
String line ;
while((line = br.readLine()) != null ){
System.out.println(line);
pr.println(line);
pr.flush();
}
br.close();
pr.close();
对象序列化与反序列化
序列化
Stringfile = "demo/sun.txt";
ObjectOutputStream os = new ObjectOutputStream(new FileOutputStream(file));
student s = new student("eric", 12, 12);
os.writeObject(s);
os.flush();
os.close();
反序列化
ObjectInputStream oi = new ObjectInputStream(new FileInputStream(file));
student s = new student();
s= (student) oi.readObject();
System.out.println(s);