java I/O流 文件类

什么是流的概念:

字节流是由字节组成的,字节流是最基本的,所有的InputStream和OutputStream的子类都是字节流,主要用在处理二进制数据,它是按字节来处理的。

什么是字符流

字符流是由字符组成的,Java里字符由两个字节组成,所有的Reader和Writer的子类都是字符流,主要用在处理文本内容或特定字符



“
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;
    }
}
}
}

你可能感兴趣的:(基础)