File类模拟打印dir

package com.cn;

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

public class FileDemo {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入路径:");
		String path = sc.nextLine();
		File file = new File(path);
		if(file.exists()) {
			print(file);
		}else {
			System.out.println("文件不存在");
		}
		
		
		
	}
	public static void print(File file) {
		if(file.isFile()) {
			System.out.println(file.getName());			
		}else {//否则就是目录
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
			File[] files = file.listFiles();//获取该目录下所有文件或者目录
			
			for(File fi :files ) {
				
				//创建最后修改时间
				Date dat = new Date(fi.lastModified());
				//格式化时间
				String date = sdf.format(dat);
				System.out.print(date+"\t");
				
				if(fi.isFile()) {//如果是文件
					long len  =fi.length(); 
					System.out.print("\t"+len+"\t");
				}else {//如果是目录
					System.out.print("<DIR>"+"\t");
				}
				//不管是文件还是目录都要有文件名
				System.out.println(fi.getName());
				
			}
			
		}
		
	}

}

打印结果:

请输入路径:
c:/windows
2007-09-04 16:14:56        180000    aaRemove.exe
2019-03-19 12:52:52    <DIR>    addins
2019-08-01 06:48:54    <DIR>    appcompat
2019-10-25 17:01:04    <DIR>    apppatch
2019-11-01 08:51:10    <DIR>    AppReadiness
2019-09-25 18:44:09    <DIR>    assembly
2019-10-14 09:19:29    <DIR>    bcastdvr
2019-03-19 12:43:47        73216    bfsvc.exe
2019-03-19 19:46:02    <DIR>    BitLockerDiscoveryVolumeContents
2019-03-19 12:52:44    <DIR>    Boot
2019-11-01 14:09:08        67584    bootstat.dat
2019-03-19 12:52:44    <DIR>    Branding
2019-10-13 20:55:34    <DIR>    CbsTemp
2019-03-19 20:12:17    <DIR>    Containers
1970-01-01 08:00:00    <DIR>    CSC
2019-03-19 12:52:53    <DIR>    Cursors
2007-07-20 10:14:42        5073256    d3dx9_35.dll
2019-07-31 19:05:19    <DIR>    debug
2018-08-08 08:49:51    <DIR>    Defender
1970-01-01 08:00:00        7623    diagerr.xml
2019-03-19 12:52:44    <DIR>    diagnostics
2019-03-19 12:52:54    <DIR>    DiagTrack
1970-01-01 08:00:00        7623    diagwrn.xml
2019-03-19 19:43:03    <DIR>    DigitalLocker
2018-11-14 09:39:12    <DIR>    Downloaded Installations
2019-03-19 12:52:54    <DIR>    Downloaded Program Files
2018-12-20 08:21:54        39    dsspec.ini
2009-07-14 09:40:36        117248    dxva2.dll
2019-03-19 12:52:54    <DIR>    ELAMBKUP
2019-03-19 19:43:03    <DIR>    en-US
2019-10-13 20:50:26        4612520    explorer.exe
2019-07-31 19:04:21    <DIR>    Fonts
2019-03-19 12:52:44    <DIR>    GameBarPresenceWriter
2016-08-03 17:27:58        1717760    GdiPlus.dll
2019-03-19 12:52:44    <DIR>    Globalization
2019-07-31 18:38:10    <DIR>    Help
2019-07-31 18:31:36        1059840    HelpPane.exe
2019-03-19 12:45:38        18432    hh.exe
2019-03-19 12:52:55    <DIR>    IdentityCRL
2019-07-31 19:04:18    <DIR>    IME
2019-10-14 09:19:29    <DIR>    ImmersiveControlPanel
2019-10-29 10:22:09    <DIR>    INF
1970-01-01 08:00:00    <DIR>    InfusedApps
2019-03-19 12:52:44    <DIR>    InputMethod
2019-10-29 10:15:06    <DIR>    Installer
2018-04-21 11:16:04    <DIR>    kmsonboot
2019-03-19 12:52:56    <DIR>    L2Schemas
2019-03-19 12:52:44    <DIR>    LanguageOverlayCache
1970-01-01 08:00:00    <DIR>    LiveKernelReports
2018-04-21 11:16:20    <DIR>    LOG
2019-08-15 13:11:46    <DIR>    Logs
2019-03-19 12:52:56    <DIR>    Media
2019-03-19 12:44:30        43131    mib.bin
2019-11-01 09:16:43    <DIR>    Microsoft.NET
2019-03-19 12:52:44    <DIR>    Migration
1970-01-01 08:00:00    <DIR>    ModemLogs
2016-07-16 19:42:22        6144    normaliz.dll
2019-03-19 12:45:00        181248    notepad.exe
2019-03-19 19:44:57    <DIR>    OCR
2018-10-07 15:04:29        376    ODBC.INI
2019-09-25 18:43:34        469    ODBCINST.INI
2019-03-19 12:53:00    <DIR>    Offline Web Pages
2019-08-12 14:59:22    <DIR>    Panther
2019-03-19 12:52:44    <DIR>    Performance
2019-10-29 10:15:41        59144    PFRO.log
2019-03-19 12:52:44    <DIR>    PLA
2019-10-14 09:19:29    <DIR>    PolicyDefinitions
1970-01-01 08:00:00    <DIR>    Prefetch
2019-10-14 09:19:29    <DIR>    PrintDialog
2018-08-08 08:45:05        102400    ProductInfo.ini
2019-03-19 12:46:33        34925    Professional.xml
2019-09-17 08:06:40    <DIR>    Provisioning
2017-12-19 06:05:40        897688    py.exe
2017-12-05 20:42:22        55456    pyshellext.amd64.dll
2017-12-19 06:05:40        897688    pyw.exe
2007-02-18 20:00:00        274432    qdv.dll
2007-02-18 20:00:00        2189824    quartz.dll
2019-03-19 12:45:47        358400    regedit.exe
2019-07-31 19:15:14    <DIR>    Registration
2019-03-19 19:46:01    <DIR>    RemotePackages
2019-03-19 12:52:44    <DIR>    rescache
2019-07-31 18:38:11    <DIR>    Resources
2018-08-07 08:51:22        2113536    Rule.dat
2019-03-19 12:52:44    <DIR>    SchCache
2019-03-19 19:46:01    <DIR>    schemas
2019-03-19 19:46:01    <DIR>    security
2019-07-31 18:38:03    <DIR>    ServiceProfiles
1970-01-01 08:00:00    <DIR>    ServiceState
2019-08-15 13:32:59    <DIR>    servicing
2019-07-31 19:04:12    <DIR>    Setup
2019-07-31 18:34:48    <DIR>    ShellComponents
2019-09-17 08:06:40    <DIR>    ShellExperiences
2019-06-29 09:55:59    <DIR>    ShellNew
2019-03-19 12:52:44    <DIR>    SKB
2018-08-07 08:53:00        207096    SMSS-PFRO0724.tmp
2019-08-04 19:40:20    <DIR>    SoftwareDistribution
2019-03-19 12:52:44    <DIR>    Speech
2019-03-19 12:52:44    <DIR>    Speech_OneCore
2019-10-13 20:50:25        132096    splwow64.exe
2006-06-28 04:55:51        8192    srvany.exe
2019-03-19 12:52:44    <DIR>    System
2015-10-30 15:21:27        219    system.ini
2019-10-29 10:22:09    <DIR>    System32
2019-03-19 19:46:01    <DIR>    SystemApps
2019-10-14 09:19:30    <DIR>    SystemResources
2019-10-30 20:03:40    <DIR>    SysWOW64
2019-03-19 12:52:46    <DIR>    TAPI
2019-07-31 19:15:43    <DIR>    Tasks
2019-11-01 14:12:06    <DIR>    Temp
2019-09-17 08:06:42    <DIR>    TextInput
2019-03-19 12:52:46    <DIR>    tracing
2016-05-30 03:52:20        14539    TWAINSP_Lenovo_EasyCamera.ini
2016-05-30 03:52:20        7408    TWAINSP_Lenovo_EasyCamera.src
2019-07-31 19:06:24    <DIR>    twain_32
2019-03-19 12:46:01        64512    twain_32.dll
2018-05-27 15:20:46    <DIR>    UpdateAssistantV2
2018-10-07 15:04:25        39    vbaddin.ini
2019-03-19 12:52:46    <DIR>    Vss
2019-03-19 12:52:46    <DIR>    WaaS
2019-03-19 12:52:46    <DIR>    Web
2015-10-30 15:21:27        92    win.ini
2019-03-19 12:44:30        670    WindowsShell.Manifest
2019-11-01 14:52:55        276    WindowsUpdate.log
2019-03-19 12:46:01        11776    winhlp32.exe
2019-10-20 22:43:00    <DIR>    WinSxS
2019-03-19 19:45:55        316640    WMSysPr9.prx
2019-03-19 12:45:54        11264    write.exe
2019-03-19 19:43:04    <DIR>    zh-CN

File类

java.io.File;

File类的对象不但可以表示文件还可以表示为目录,,当创建一个文件对象后,就可以利用他来来对文件或者目录的属性进行操作,如:文件名、最后修改时间、文件大小等。

需要注意的是,File对象并不能直接对文件进行读写操作,只能查看文件的属性。

文件有大小,目录是没有大小的。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值