ACAC File类和PrintStream

import java.io.File;
import java.io.IOException;

/**
 * File:
 *      1、File类和四大家族没有关系,所以File类不能完成文件的读和写
 *      2、File对象代表什么?
 *          文件和目录路径的抽象表达式
 *          一个File对象可能对应的是目录,也可能是文件
 *          File只是一个路径名的抽象表达式
 *
 *      3、File中常用的方法:
 *
 */
public class FileTest01 {
    
    
    public static void main(String[] args) {
    
    

        //创建一个file对象
        File f1 = new File("H:\\file");

        //判断是否存在
        System.out.println(f1.exists());

        //如果:\file不存在,以文件的形式创建出来
        /*if(!f1.exists()){
            try {
                //以文件的形式创建出来
                f1.createNewFile();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }*/

        //如果:\file不存在,以目录的形式创建出来
        /*if(!f1.exists()){
            f1.mkdir();
        }*/

        //可以创建多重目录吗?
        File  f2 = new File("H:/a/b/c/d/e");
        if(!f2.exists()){
    
    
            //多重目录创建
            f2.mkdirs();
        }

        //获取父路径
        File f3 = new File("H:\\a\\b\\c\\d\\e\\ggg.txt");
        String s = f3.getParent();
        System.out.println(s);

        File f4 = f3.getParentFile();
        System.out.println("绝对路径: " + f4.getAbsolutePath());

        File f5 = new File("myfile");
        System.out.println("绝对路径: " + f5.getAbsolutePath());



    }
}

import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 *
 */
public class FileTest02 {
    
    
    public static void main(String[] args) {
    
    

        File f1 = new File("H:\\a\\b\\c\\d\\e\\ggg.txt");
        System.out.println("文件名 " + f1.getName());

        //判断是不是一个目录
        System.out.println("是目录吗:" + f1.isDirectory());

        System.out.println("是文件吗 " + f1.isFile());

        //long lastModified()  返回文件上次修改时间。  (自1970年到现在的毫秒数)
        long haoMiao = f1.lastModified();
        //将毫秒转换成日期
        Date date = new Date(haoMiao);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM--dd HH:mm:ss SSS");
        String str = sdf.format(date);
        System.out.println("修改时间: " + str);

        //获取文件大小
        System.out.println("获取字节 " + f1.length());
    }
}

import java.io.File;

/**
 * File中的listFiles方法:
 *
 *
 */
public class FileTest03 {
    
    
    public static void main(String[] args) {
    
    
        //File[] listFiles()  获取当前目录下的所有的子文件

        File f = new File("H:");
        File[] files = f.listFiles();

        for(File file : files){
    
    
            System.out.println(file);
        }

    }
}

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintStream;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 日志工具
 */
public class Logger {
    
    
    /*
     * 记录日志的方法
     * */
    public static void log(String msg) {
    
    

        PrintStream ps = null;
        try {
    
    
            //指向一个日志文件(写操作)
            ps = new PrintStream(new FileOutputStream("log.txt", true));

            //改变输出方向(输出方向为日志文件)
            System.setOut(ps);
            //日期当前时间
            Date time = new Date();

            //格式化时间
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy--mm--dd HH:mm:ss SSS");

            //将时间转换为字符串
            String strTime = sdf.format(time);

            System.out.println(strTime + ": " + msg);
        } catch (FileNotFoundException e) {
    
    
            e.printStackTrace();
        }

    }
}

public class LoggerTest {
    
    
    public static void main(String[] args) {
    
    
        //测试工具类是否好用
        Logger.log("调用logger方法");
        Logger.log("用户进行登录");
        Logger.log("登录成功");
        Logger.log("用户进行部分操作");
        Logger.log("用户登出系统");
    }
}

找到文件,打开
2020--22--02 13:22:13 115: 登录成功
2020--24--02 13:24:33 440: 调用logger方法
2020--24--02 13:24:33 543: 用户进行登录
2020--24--02 13:24:33 545: 登录成功

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintStream;

/**
 *
 * java.io.PrintStream  标准的字节输出流,默认输出到控制台
 */
public class PrintStreamTest01 {
    
    
    public static void main(String[] args) {
    
    

        System.out.println("agsjfdsgj");

        PrintStream ps = System.out;
        ps.println("asdfggasa");
        ps.println("etgerrehg");
        ps.println("ergegerqr");

        //标准输出流不需要手动close()关闭

        //标准输出流不再指向控制台,指向一个文件
        PrintStream ps02 = null;
        try {
    
    
            ps02 = new PrintStream(new FileOutputStream("myfile",true));
        } catch (FileNotFoundException e) {
    
    
            e.printStackTrace();
        }

        //修改输出方向,将输出方向修改为“myfile”文件
        System.setOut(ps02);

        //再输出
        System.out.println("hello");
        System.out.println("nihao");
        System.out.println("hahaha");


    }
}

猜你喜欢

转载自blog.csdn.net/qq_44707513/article/details/110483863