【18.5.24 日常】Java I/O流基础

时间:2023-02-17 16:13:07

一.分类

文件与文件夹
用来读写计算机中的文件和文件夹的类,称之为文件类

二.功能

1.获得文件或文件夹的属性信息

2.创建.删除.重命名文件等


package com.lenovo.demo;

import java.io.File;
import java.sql.Date;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Scanner;

/**
* 要求: 1、可以按下盘符+冒号(如C:)直接进入该盘根目录 2、键入目录名,按下回车键进入该目录 3、进入一个目录后,自动列出该目录下所有目录及文件
* 4、按下..返回上一级目录 5、按下Q键退出程序


*
* @author lenovo64
*
*/
public class FileDemo {
private static String input;
private static String path;

public static void main(String[] args) {
System.out.println(“请输入目录(如果是盘符,后面需要加’:’)”);
Scanner scanner = new Scanner(System.in);
input = scanner.nextLine();
while (true) {
File cFile = new File(input + “\”);
String[] files = cFile.list();
for (String s : files) {
File f = new File(input + “\” + s);
if (f.isDirectory() && !f.isHidden()) {
long time = f.lastModified();
String mTime = new SimpleDateFormat(“yyyy/MM/dd HH:mm”).format(new Date(time));
System.out.println(mTime + “\t” + “

” + “\t\t” + s);
}
}
for (String s : files) {

        File f = new File(input + "\\" + s);
        if (f.isFile() && !f.isHidden()) {
            long time = f.lastModified();
            String mTime = new SimpleDateFormat("yyyy/MM/dd HH:mm").format(new Date(time));
            System.out.println(mTime + "\t" + f.length() / 1024 + "KB" + "\t" + s);
        }
    }
    path = cFile.getPath();
    input = scanner.nextLine();
    if(input.equals("q")){
        break;
    }

    if (input.endsWith(":")) {

    } else if (input.equals("..")) {
        input = cFile.getParent();
        if(input==null){
            System.out.println(path+"已是根目录");
            input = path;
        }
    }else {
        input = path + "\\" + input;
    }
}
}
}