首页 > 技术文章 > Java25

axu-xxx 2019-09-03 14:23 原文

一、properties类 是Hashtable的子类  map集合中的方法他都可以使用  它的泛型是固定的 键和值都是String类型的  
方法  
load()  读取
store() 写入
将集合中的内容存入文件
1、明确目的地
2、创建Properties集合
3、添加数据
4、把集合中的数据存储到流所对应的文件中
5、关闭
读取文件中的数据
1、明确数据源
2、创建集合
3、导入数据
4、关闭
二、序列化流与反序列化流
序列化流ObjectOutputStream
反序列化流ObjectInputStream
当一个对象要能被序列化,这个对象所属的类必须实现Serializable接口。否则会发生异常NotSerializableException异常。
瞬态关键字transient
当一个类的对象需要被序列化时,某些属性不需要被序列化,这时不需要序列化的属性可以使用关键字transient修饰。只要被transient修饰了,序列化时这个属性就不会序列化了。
三、打印流
字节打印流 PrintStream
字符打印流 PrintWriter
方法:
void print(String str): 输出任意类型的数据,
void println(String str): 输出任意类型的数据,自动写入换行操作
开启文件自动刷新写入功能
public PrintWriter(OutputStream out, boolean autoFlush)
public PrintWriter(Writer out, boolean autoFlush)
四、commons工具类
方法
readFileToString(File file):读取文件内容,并返回一个String;
writeStringToFile(File file,String content):将内容content写入到file中;
copyDirectoryToDirectory(File srcDir,File destDir);文件夹复制
copyFile(File srcFile,File destFile);文件复制

public class CommonsIODemo01 {

    public static void main(String[] args) throws IOException {

        //method1("D:\\test.avi", "D:\\copy.avi");

       

        //通过Commons-IO完成了文件复制的功能

        FileUtils.copyFile(new File("D:\\test.avi"), new File("D:\\copy.avi"));

    }

 

    //文件的复制

    private static void method1(String src, String dest) throws IOException {

        //1,指定数据源

        BufferedInputStream in = new BufferedInputStream(new FileInputStream(src));

        //2,指定目的地

        BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(dest));

        //3,读

        byte[] buffer = new byte[1024];

        int len = -1;

        while ( (len = in.read(buffer)) != -1) {

            //4,写

            out.write(buffer, 0, len);

        }

推荐阅读