zoukankan      html  css  js  c++  java
  • javaIO--文件操作类

    文件操作类主要是使用File类的各种方法对文件和目录进行操作。包括文件名、文件长度、最后修改时间和是否只读等,提供获得当前文件的路径名、判断文件是否存在、创建、删除文件和目录等一系列的操作方法。

    下面一段代码实现了读取当前目录及子目录文件列表的功能。

     1 public class IOtestFile {
     2     public static void main(String[] args) {
     3         new FileList();
     4     }
     5     
     6     static class FileList{
     7         int  count_dirs=0, count_files=0;
     8         long byte_files=0;
     9         public FileList(){
    10             count(new File("."));//创建当前目录
    11             System.out.println("共有" + count_files + "个文件,总字节数为: " + byte_files + "B");
    12             System.out.println("共有" + count_dirs + "个目录");
    13         }
    14         private void count(File dir) {  //dir目录中文件列表,递归算法
    15             // TODO Auto-generated method stub
    16             System.out.println("当前目录的绝对路径:" + dir.getAbsolutePath());
    17             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm");  
    18             File[] files = dir.listFiles();   //返回当前目录中所有文件
    19             for(int i=0; i<files.length; i++){    //目录和文件列表
    20                 System.out.print(files[i].getName() + "	");
    21                 if(files[i].isFile()){
    22                     System.out.print(files[i].length() + "B	");
    23                     count_files ++;
    24                     byte_files += files[i].length();
    25                 }else{
    26                     System.out.print("<DIR>	");
    27                     count_dirs ++;
    28                 }
    29                 System.out.println(sdf.format(new Date(files[i].lastModified())));  //显示文件修改时间
    30             }
    31             for(int i=0; i<files.length; i++){
    32                 if(files[i].isDirectory()){
    33                     count(files[i]);
    34                 }
    35             }
    36         }
    37     }
    38 }

    在我自己的电脑上的运行结果如下

    当前目录的绝对路径:D:eclipseworkspaceJavaTestday27.
    .classpath    301B    2016-11-16 11:18
    .project    381B    2016-11-16 11:15
    .settings    <DIR>    2017-08-12 07:23
    bin    <DIR>    2017-08-12 07:24
    fibText.txt    87B    2017-08-15 07:27
    fileInt.txt    96B    2017-08-15 03:04
    info.txt    44B    2017-08-15 02:50
    io.txt    10B    2017-08-15 02:41
    io2.txt    44B    2017-08-15 02:50
    src    <DIR>    2017-08-12 07:23
    students.dat    150B    2017-08-15 03:44
    当前目录的绝对路径:D:eclipseworkspaceJavaTestday27..settings
    org.eclipse.jdt.core.prefs    598B    2016-11-16 11:19
    当前目录的绝对路径:D:eclipseworkspaceJavaTestday27.in
    cn    <DIR>    2017-08-12 07:24
    当前目录的绝对路径:D:eclipseworkspaceJavaTestday27.incn
    itcast    <DIR>    2017-08-15 12:58
    当前目录的绝对路径:D:eclipseworkspaceJavaTestday27.incnitcast
    bat    <DIR>    2017-08-12 07:24
    copy    <DIR>    2017-08-12 07:24
    factory    <DIR>    2017-08-12 07:24
    io    <DIR>    2017-08-15 08:18
    list    <DIR>    2017-08-13 07:58
    observer    <DIR>    2017-08-12 07:24
    reflect    <DIR>    2017-08-12 07:24
    regex    <DIR>    2017-08-14 08:08
    single    <DIR>    2017-08-12 07:24
    当前目录的绝对路径:D:eclipseworkspaceJavaTestday27.incnitcastat
    Demo1.class    544B    2017-08-12 07:24
    当前目录的绝对路径:D:eclipseworkspaceJavaTestday27.incnitcastcopy
    Address.class    396B    2017-08-12 08:37
    Demo1.class    1229B    2017-08-12 07:26
    Demo2.class    2070B    2017-08-12 07:26
    Person.class    1427B    2017-08-12 08:37
    当前目录的绝对路径:D:eclipseworkspaceJavaTestday27.incnitcastfactory
    BMW.class    277B    2017-08-12 10:34
    BSJ.class    277B    2017-08-12 10:34
    Car.class    272B    2017-08-12 10:34
    Demo1.class    2419B    2017-08-12 10:34
    当前目录的绝对路径:D:eclipseworkspaceJavaTestday27.incnitcastio
    IOtestBit$ByteFile.class    2057B    2017-08-15 07:12
    IOtestBit$IntFile.class    1909B    2017-08-15 07:12
    IOtestBit$objectFile.class    1955B    2017-08-15 07:12
    IOtestBit$Student.class    843B    2017-08-15 07:12
    IOtestBit.class    1964B    2017-08-15 07:12
    IOtestChar$TextFile.class    1727B    2017-08-15 07:27
    IOtestChar.class    712B    2017-08-15 07:27
    IOtestFile$FileList.class    2186B    2017-08-15 08:20
    IOtestFile.class    494B    2017-08-15 08:20
    当前目录的绝对路径:D:eclipseworkspaceJavaTestday27.incnitcastlist
    Demo1.class    1197B    2017-08-12 08:59
    Demo2.class    1683B    2017-08-13 08:13
    StackList.class    1025B    2017-08-12 08:59
    当前目录的绝对路径:D:eclipseworkspaceJavaTestday27.incnitcastobserver
    Emp.class    1363B    2017-08-12 07:24
    Student.class    1320B    2017-08-12 07:24
    Weather.class    162B    2017-08-12 10:08
    WeatherMain.class    1028B    2017-08-12 07:24
    WeatherStation$1.class    1451B    2017-08-12 07:24
    WeatherStation.class    1736B    2017-08-12 07:24
    当前目录的绝对路径:D:eclipseworkspaceJavaTestday27.incnitcast
    eflect
    Demo1.class    1436B    2017-08-12 07:24
    Demo2.class    1129B    2017-08-12 07:24
    Demo3.class    1049B    2017-08-12 07:24
    Demo4.class    1186B    2017-08-12 07:24
    Person.class    1409B    2017-08-12 07:24
    当前目录的绝对路径:D:eclipseworkspaceJavaTestday27.incnitcast
    egex
    Demo1.class    1931B    2017-08-14 08:08
    Demo2.class    1250B    2017-08-14 08:27
    当前目录的绝对路径:D:eclipseworkspaceJavaTestday27.incnitcastsingle
    Demo1.class    274B    2017-08-12 07:24
    Single.class    561B    2017-08-12 07:24
    当前目录的绝对路径:D:eclipseworkspaceJavaTestday27.src
    cn    <DIR>    2017-08-12 07:23
    当前目录的绝对路径:D:eclipseworkspaceJavaTestday27.srccn
    itcast    <DIR>    2017-08-15 12:58
    当前目录的绝对路径:D:eclipseworkspaceJavaTestday27.srccnitcast
    bat    <DIR>    2017-08-12 07:23
    copy    <DIR>    2017-08-12 07:23
    factory    <DIR>    2017-08-12 07:23
    io    <DIR>    2017-08-15 08:04
    list    <DIR>    2017-08-13 07:58
    observer    <DIR>    2017-08-12 07:23
    reflect    <DIR>    2017-08-12 07:23
    regex    <DIR>    2017-08-14 08:08
    single    <DIR>    2017-08-12 07:23
    当前目录的绝对路径:D:eclipseworkspaceJavaTestday27.srccnitcastat
    Demo1.java    853B    2016-11-16 11:19
    当前目录的绝对路径:D:eclipseworkspaceJavaTestday27.srccnitcastcopy
    Demo1.java    851B    2017-08-12 07:26
    Demo2.java    1523B    2017-08-12 07:26
    Person.java    794B    2017-08-12 08:37
    当前目录的绝对路径:D:eclipseworkspaceJavaTestday27.srccnitcastfactory
    Demo1.java    1467B    2017-08-12 10:34
    当前目录的绝对路径:D:eclipseworkspaceJavaTestday27.srccnitcastio
    IOtestBit.java    4985B    2017-08-15 07:12
    IOtestChar.java    1148B    2017-08-15 07:27
    IOtestFile.java    1326B    2017-08-15 08:20
    当前目录的绝对路径:D:eclipseworkspaceJavaTestday27.srccnitcastlist
    Demo1.java    1384B    2017-08-12 08:59
    Demo2.java    884B    2017-08-13 08:13
    当前目录的绝对路径:D:eclipseworkspaceJavaTestday27.srccnitcastobserver
    Emp.java    757B    2016-11-16 11:19
    Student.java    644B    2016-11-16 11:19
    Weather.java    129B    2017-08-12 10:08
    WeatherMain.java    527B    2016-11-16 11:19
    WeatherStation.java    1813B    2016-11-16 11:19
    当前目录的绝对路径:D:eclipseworkspaceJavaTestday27.srccnitcast
    eflect
    Demo1.java    1008B    2016-11-16 11:19
    Demo2.java    1234B    2016-11-16 11:19
    Demo3.java    1074B    2016-11-16 11:19
    Demo4.java    723B    2016-11-16 11:19
    Person.java    577B    2016-11-16 11:19
    当前目录的绝对路径:D:eclipseworkspaceJavaTestday27.srccnitcast
    egex
    Demo1.java    1450B    2017-08-14 08:08
    Demo2.java    1198B    2017-08-14 08:27
    当前目录的绝对路径:D:eclipseworkspaceJavaTestday27.srccnitcastsingle
    Demo1.java    793B    2016-11-16 11:19
    共有68个文件,总字节数为: 72801B
    共有25个目录
  • 相关阅读:
    三级联动下拉菜单1
    IP地址查询接口及调用方法
    实现简单的网页拖拽效果
    [转载]PHP如何获取客户端真实IP
    mysql(二)连接查询
    php exec 执行php脚本
    PHP-将某一目录下文件压缩成zip格式
    从读书时代想我的程序之路
    Github上建立自己的网站
    小米手机购买程序,如果是我,我会怎么写
  • 原文地址:https://www.cnblogs.com/K-artorias/p/7367574.html
Copyright © 2011-2022 走看看