JavaSE的IO流系列教程(4-4)——FileUtils工具类和Properties类,javasefileutils
分享于 点击 6781 次 点评:192
JavaSE的IO流系列教程(4-4)——FileUtils工具类和Properties类,javasefileutils
摘要:
您好!当您打开此文件时,意味着你再IO流知识上出现了欠缺。如果你想仔细学习一下JavaSE的IO流部分知识,可以仔细阅读下面的知识点。
本文为系列文章的第四篇:
第一篇:JavaSE的IO流系列教程(1-4)—— File类的创建文件和获取文件目录
第二篇:JavaSE的IO流系列教程(2-4)——OutputStream类和InputStream类
第三篇:JavaSE的IO流系列教程(3-4)——BufferedStream类和BufferedReader类
文章目录
- 摘要:
- 引言:
- FileUtils工具类的使用:
- FileUtils类的使用案例(获取和判断):
- FileUtils类的使用案例(复制文本):
- Properties类
- Properties类和IO对象结合使用,实现数据的持久储存
- 实现对象的序列化和反序列化
- 实现序列化:
- 实现反序列化:
引言:
FileUtils工具类的使用:
FileUtils类的使用案例(获取和判断):
/*
* FilenameUtils类的方法
* Static boolean isExtension(String filename,String extension)
* 判断文件后缀名是不是extension
*/
public static void function_2(){
System.out.println(FilenameUtils.isExtension("Demo.java", "java"));
}
/*
* FilenameUtils类的方法
* static String getName(String filename)
* 获取文件名
*/
public static void function_1(){
System.out.println(FilenameUtils.getName("D:\\javademo\\1.txt"));
}
/*
* FilenameUtils类的方法
* static String getExtension(String filename)
* 获取文件的拓展名
*/
public static void function(){
System.out.println(FilenameUtils.getExtension("abc.java"));
}
FileUtils类的使用案例(复制文本):
/*
* FileUtils工具类的方法
* static void cpoyDirectoryToDirectory(File src,File desc)
* 复制文件夹
*/
public static void function_3() throws IOException{
FileUtils.copyDirectoryToDirectory(new File("D:\\javademo\\abc"), new File("D:\\javademo\\b"));
}
/*
* FileUtils工具类的方法
* static void copyFile(File src,File desc)
* 复制文件
*/
public static void function_2() throws IOException{
FileUtils.copyFile(new File("D:\\javademo\\1.png"),new File("D:\\javademo\\k.png") );
}
/*
* FileUtils工具类的方法
* static void writeStringToFile(File src,String date)
* 将字符串直接写入文件中
*/
public static void function_1() throws IOException{
FileUtils.writeStringToFile(new File("D:\\javademo\\1.txt"),"我爱java编程");
}
/*
* FileUtils工具类的方法
*static String readFileToString(File src)读取文本,返回字符串
*
*/
public static void function() throws IOException{
System.out.println(FileUtils.readFileToString(new File("D:\\javademo\\1.txt")));
}
Properties类
Properties类和IO对象结合使用,实现数据的持久储存
/*
* Properties集合特有的方法store
* store(OutputStream out)
* store(Writer w)
* 传递任意字节或则字符输出流
* 将集合中的键值对写回到文件中保存
*/
public static void function_2() throws IOException{
Properties pro = new Properties();
pro.setProperty("name", "zhangsan");
pro.setProperty("age", "31");
pro.setProperty("email", "mymial@sina.com");
FileWriter fw = new FileWriter("D:\\javademo\\1.properties");
//键值对,存入文件,使用集合的方法store传递字符输出流
pro.store(fw, "this is my fristTXTstore");
fw.close();
}
/*
* Properties集合特有的方法load
* load(InputStream in)
* load(Reader r)
* 传递任意的字节或者字符输入流
* 流对象读取文件中的键值对,保存到集合
*/
public static void function_1() throws IOException{
Properties pro = new Properties();
FileReader fr = new FileReader("D:\\javaDemo\\1.properties");
//调用集合的方法load,传递字符输出流
pro.load(fr);
fr.close();
System.out.println(pro);
}
实现对象的序列化和反序列化
public class Person implements Serializable {
/**
* 防止系列号冲突,下列系列号由Eclipse自动生成,请不要修改下列号码
* serialVersionUID = 2125396509151169369L
*/
//在写之前不要自己写下面这一行代码,由Eclipse提示你写,这样会避免序列号重复。
private static final long serialVersionUID = 2125396509151169369L;
private String name;
//阻止成员变量序列化transient
public /* transient */ int age;
//静态不能序列化,
//private static String gender;
public Person(String name, int age) {
super();
this.name = name;
this.age = age;
}
public Person(){
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Person [name=" + name + ", age=" + age + "]";
}
}
- ObjectOutPutStream类 实现序列化和ObjectInputStream 类实现反序列化
实现序列化:
public static void writeObject() throws IOException{
//创建字节输出流,封装文件
FileOutputStream fos = new FileOutputStream("D:\\javademo\\person.txt");
//创建写出对象的序列化流的对象,构造方法传递字节输出流
ObjectOutputStream oos = new ObjectOutputStream(fos);
Person p = new Person("张三",25);
oos.writeObject(p);
oos.close();
}
实现反序列化:
public static void readObject() throws IOException, ClassNotFoundException{
FileInputStream fis = new FileInputStream("D:\\javademo\\person.txt");
ObjectInputStream ois = new ObjectInputStream(fis);
Object obj = ois.readObject();
ois.close();
}
IO流系列文章暂时先告一段落,如遇到什么问题欢迎在下方留言讨论。
相关文章
- 暂无相关文章
用户点评