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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章