package com.gaoji.io;
import java.io.Serializable;
//IO流里面的接口 Serializable
public class User implements Serializable {
/**
-
序列化编译id
-
transient //被他修饰的字段不会被序列化
*/
private static final long serialVersionUID = 4950216177746797393L;
private int id;
private String name;
private char sex;
private transient String phone;
public User(int id, String name, char sex, String phone) {
super();
this.id = id;
this.name = name;
this.sex = sex;
this.phone = phone;
}
public User() {
super();
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public char getSex() {
return sex;
}
public void setSex(char sex) {
this.sex = sex;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
@Override
public String toString() {
return “User [id=” + id + “, name=” + name + “, sex=” + sex + “, phone=” + phone + “]”;
}
}
- Run.java 序列化运行类
package com.gaoji.io;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
//对象的序列化与反序列化
public class IOdome_07 {
public static void main(String[] args) throws IOException, ClassNotFoundException {
xlh();
fxlh();
}
//对象序列化
public static void xlh() throws FileNotFoundException, IOException {
User u = new User(1, “张三”, ‘男’, “15665620000”);
ObjectOutputStream out = null;
try {
out = new ObjectOutputStream(new FileOutputStream(new File(“d:\user.dat”)));
out.writeObject(u);
System.out.println(u);
} finally {
out.flush();//刷新
out.close();//关闭
}
}
//对象反序列化
public static void fxlh() throws IOException, ClassNotFoundException {
ObjectInputStream in = null;
try {
in = new ObjectInputStream(new FileInputStream(new File(“d:\user.dat”)));
User u = (User) in.readObject();
System.out.println(u.toString());
} finally {
in.close();
}
}
}
=====================================================================
- 字节流实现
//字节流 FileInputStream和FileOutputStream实现
public static void InputOutputStream() throws IOException {
File f1 = new File(“D://”);
File f2 = new File(f1, “qqq.jpg”);
File f3 = new File(“C://”);
File f4 = new File(f3, “qqq.jpg”);
FileInputStream fis = new FileInputStream(f2);//输入类(读取)
FileOutputStream fos = new FileOutputStream(f4);//输出类(写入)
int len = 0;
while ((len = fis.read()) != -1) {
fos.write(len);
}
fos.flush();
fos.close();
fis.close();
}
- 字符流实现
//缓存字节流 BufferedInputStream和BufferedOutputStream实现
public static void BufferedInputOutputStream() throws IOException {
// TODO Auto-generated method stub
File f1 = new File(“D://”);
File f2 = new File(f1, “qqq.jpg”);
File f3 = new File(“C://”);
File f4 = new File(f3, “qqq.jpg”);
BufferedInputStream bin = null;
BufferedOutputStream out = null;
try {
byte[] bs = new byte[1024];
bin = new BufferedInputStream(new FileInputStream(f2));
out = new BufferedOutputStream(new FileOutputStream(f4));
while (bin.read(bs) != -1) {
out.write(bs);
}
} catch (Exception e) {
// TODO: handle exception
} finally {
bin.close();
out.flush();
out.close();
}
}
==================================================================================
package com.gaoji.io;
import java.io.File;
public class IOdomemy_01 {
public static void main(String[] args) {
//File f = new File(“D://”);
File f = new File(“D:\”);
//getFile(f);
}
//用递归实现查找系统盘里面的所有文件
public static void getFile(File f) {
File[] fs = f.listFiles();
if(fs != null && fs.length !=0){
for(File f1:fs){
if(f1.isDirectory()){
getFile(f1);
}else{
System.out.println(f1.getName());
}
}
}
}
}
==================================================================
1.在d盘根目录新建一个a.txt的文件,在文件中输入任意内容
package com.gaoji.io;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
//1.在d盘根目录新建一个a.txt的文件,在文件中输入任意内容
public class IOword_01 {
public static void main(String[] args) {
dome0111();
}
//用createTempFile创建文件
public static void dome01(){
File parent=new File(“d:”+File.separator);
try {
File file = parent.createTempFile(“hjbqq”,“.txt”,parent);
System.out.println(file);
//d:\hjbqq1465893390880583617.txt
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
用createNewFile创建文件
public static void dome011(){
File f1=new File(“d:”+File.separator);
File f2=new File(f1,“txt.txt”);
try {
//有txt.txt则不创建,否,则相反
f2.createNewFile();
System.out.println(“是否存在:”+f2.exists());
System.out.println(f2);
//d:\txt.txt
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//写入字符流
public static void dome0111(){
File f1=new File(“d:”+File.separator);
File f2=new File(f1,“txt.txt”);
try {
FileWriter fw = new FileWriter(f2);
BufferedWriter bw = new BufferedWriter(fw);
bw.write(“啊啊啊啊”);
bw.flush();//清除缓冲区
bw.close();
fw.close();
System.out.println(“写入完毕”);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
2.读取txt.txt文件大小,最近访问时间,是否是一个目录。并删除此文件
package com.gaoji.io;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
//读取txt.txt文件大小,最近访问时间,是否是一个目录。并删除此文件
public class IOword_02 {
public static void main(String[] args) {
dome1();
}
public static void dome1() {
File f1 = new File(“D:”+File.separator);
File f2 = new File(f1,“txt.txt”);
SimpleDateFormat sdf = new SimpleDateFormat(“yyyy年MM月dd日 HH:mm:ss”);
System.out.println(f2);
System.out.println(f2+“的文件大小是”+f2.length());
System.out.println(f2+“最后一次被修改的时间是”+sdf.format(new Date(f2.lastModified())));
System.out.println(f2+“是否是一个目录:”+f2.isDirectory());
if(f2.delete()){
System.out.println(“删除成功!!”);
}else{
System.out.println(“删除失败”);
}
}
}
3.编写一个程序,删除这个文件夹中的所有文件(用递归算法来实现)
package com.gaoji.io;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class IOword_03 {
//创建一个多层的文件夹,每个文件中有不同数目的文件,
//编写一个程序,删除这个文件夹中的所有文件(用递归算法来实现)
public static void main(String[] args) throws IOException {
File f1=new File(“d:”+File.separator);
File f2 = new File(f1,“txt”);
getFile(f2);
}
//删除指定目录下的文件
public static void getFile(File f) {
File[] fs = f.listFiles();
最后
还有Java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板可以领取+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书+2021年最新大厂面试题。
package com.gaoji.io;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class IOword_03 {
//创建一个多层的文件夹,每个文件中有不同数目的文件,
//编写一个程序,删除这个文件夹中的所有文件(用递归算法来实现)
public static void main(String[] args) throws IOException {
File f1=new File(“d:”+File.separator);
File f2 = new File(f1,“txt”);
getFile(f2);
}
//删除指定目录下的文件
public static void getFile(File f) {
File[] fs = f.listFiles();
最后
还有Java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板可以领取+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书+2021年最新大厂面试题。
[外链图片转存中…(img-qF5sDL9Q-1714499844358)]