File的综合应用

package com.beiwo.homework;

import java.io.File;

/*
       4.将一个文件夹中所有的文件查找出来,按照一定的格式
     分析 :  1.一个文件夹中存在文件,子文件夹
        2.除了当前文件夹,还有子文件夹中的文件也需要找出来。
        3.子文件查找文件和当前文件查找文件是一样的操作,就可以定义一个方法来做文件查找

       3.删除一周前的数据

       2.获取文件夹中所有文件的大小

       1.判断是否有隐藏文件

 */
public class HomeWork {

    static int totalSize = 0; //只会被创建一次

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub

        //1.获取指定文件夹
        File file = new File("D:\\java课件及资料\\第十八次课");

        //2.调用查找的方法
        getFile(file, 1);

        //3.打印文件的总大小
        System.out.println("文件夹的总大小:"+totalSize*1.0/(1024 *1024*1024)+"G");

    }

    //4.判断隐藏文件
    public static boolean getHiddenFile(File file){

        return file.isHidden();
    }

    //3.获取文件夹中所有文件的大小
    public static void getFileSize(File file){

         if(file.isFile()){

             totalSize+=file.length();
         }

    }

    //删除一周前数据
    public static void deleteAfterWeekFile (File file){

        //1.获取文件最后一次被操作的时间
        long lastTime = file.lastModified();

        //2.获取当前的时间毫秒数
        long currentTime = System.currentTimeMillis();

        //3.做时差  毫秒数
        long time = currentTime - lastTime;

        //4.将毫秒数转为天数
        int day = (int)(time / (1000*60*60*24));

        if(day>=7){

            //删除文件操作
            if(file.isFile()){

                file.delete();
            }

        }

    }

    //区分目录结构
    public static String flag(int count){
        String str ="";
        for(int i = 0 ; i < count ;i++){
            str+="--"+" ";
        }
        return str;

    }

    /**
     *  查找文件夹中所有的文件
     * @param targetPath : 需要查找的文件的的路径
     * @param count      : 记录子目录的个数
     */
    public static void getFile(File file,int count){ //1
        //获取文件的抽象路径
        //File file = new File(targetPath);

        if(file.exists()){ // 代表文件夹存在

            //获取当前目录中的文件和文件夹
            File[] files = file.listFiles();

            for (File file2 : files) {
                //打印输出
                System.out.println(flag(count)+file2.getName());
                //file2到底是文件夹还是文件
                if(file2.isDirectory()){ // file2是文件夹
                    //count++; //count = count+1  // count 2   3
                    //继续查找 递归调用
                    getFile(file2,count+1); // 2  count = 1

                }

                //判断文件是否需要删除
                if(file2.isFile()){

                    deleteAfterWeekFile(file2);

                    //获取文件总大小
                    getFileSize(file2);
                }

             //判断是否有隐藏的数据
                if(getHiddenFile(file2)){

                    System.out.println(file2.getName()+"这是隐藏的文件");
                }
            }

        }
    }

}
时间: 2025-01-09 21:18:28

File的综合应用的相关文章

java基础知识回顾之javaIO类--File类应用:获取指定目录下面的指定扩展名的文件,将文件的绝对路径写入到目的文件当中

/** * File文件综合应用 * 需求:获取指定目录下面,指定扩展名的文件,将文件的绝对路径写到文本文件当中. *  * 思路:1.需要深度遍历.--递归 * 2.遍历的过程中过滤指定扩展名的文件--过滤器FileNameFilter,将文件存入容器中 * 3.将容器中的内容遍历,写入到指定文件中 * */ 代码:  FilenameFilter 过滤器: package com.lp.ecjtu.File.filter; import java.io.File; import java.i

java文件操作

11.3 I/O类使用 由于在IO操作中,需要使用的数据源有很多,作为一个IO技术的初学者,从读写文件开始学习IO技术是一个比较好的选择.因为文件是一种常见的数据源,而且读写文件也是程序员进行IO编程的一个基本能力.本章IO类的使用就从读写文件开始. 11.3.1 文件操作 文件(File)是 最常见的数据源之一,在程序中经常需要将数据存储到文件中,例如图片文件.声音文件等数据文件,也经常需要根据需要从指定的文件中进行数据的读取.当然, 在实际使用时,文件都包含一个的格式,这个格式需要程序员根据

java文件操作(IO流)

一.引言 由于在IO操作中,需要使用的数据源有很多,作为一个IO技术的初学者,从读写文件开始学习IO技术是一个比较好的选择.因为文件是一种常见的数据源,而且读写文件也是程序员进行IO编程的一个基本能力.本章IO类的使用就从读写文件开始. 文件操作 文件(File)是 最常见的数据源之一,在程序中经常需要将数据存储到文件中,例如图片文件.声音文件等数据文件,也经常需要根据需要从指定的文件中进行数据的读取.当然, 在实际使用时,文件都包含一个的格式,这个格式需要程序员根据需要进行设计,读取已有的文件

Java api 入门教程 之 JAVA的文件操作

I/O类使用 由于在IO操作中,需要使用的数据源有很多,作为一个IO技术的初学者,从读写文件开始学习IO技术是一个比较好的选择.因为文件是一种常见的数据源,而且读写文件也是程序员进行IO编程的一个基本能力.本章IO类的使用就从读写文件开始. 1 文件操作 文件(File)是 最常见的数据源之一,在程序中经常需要将数据存储到文件中,例如图片文件.声音文件等数据文件,也经常需要根据需要从指定的文件中进行数据的读取.当然, 在实际使用时,文件都包含一个的格式,这个格式需要程序员根据需要进行设计,读取已

java递归处理文件夹和文件

import java.io.File; /** * 文件综合使用示例 */ public class FileDelete { public static void main(String[] args) { File f = new File("d:\\test"); printAllFile(f); File f1 = new File("d:\\test"); deleteAll(f1); } /** * 打印f路径下所有的文件和文件夹 * * @param

linux------磁盘分区,格式化,检验与挂载

1. 如果你新装啦一块硬盘,应该对他做的操作 (1)对磁盘分区,新建可用分区 (2)分区格式化,创建文件系统 (3)检验文件系统 (4)创建挂载点(目录),将文件系统挂载到目录上 查看磁盘容量:df 查看目录容量:du 磁盘分区: fdisk   1.只有root才能执行    2.只能处理2TB以下的磁盘分区 3.若分区正在使用导致不能读取分区表,可以卸载该分区,再次进入该分区并写入分区表. 分区完毕后需要用;partprobe    强制让内核找一下分区表 2.磁盘格式化:(创建文件系统)

Java程序设计---io流读取文件内容并将其逆值输出到控制台

import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileReader;import java.io.OutputStreamWriter; public class 逆值 {/* *2017-07-01; */    public static void main(String[] args) throws Exception {        // TO

基于Xilinx的Synthesize

所谓综合,就是讲HDL语言.原理图等设计输入翻译成由与.或.非们和RAM.触发器登记本逻辑单元的逻辑连接(即网表).并根据目标和要求(约束条件)优化生成的逻辑连接. ISE-XST XST是Xilinx公司自己的综合(Synthsize)工具.当我们完成输入.仿真以及管脚分配之后就可以进行综合和实现. 双击Synthesize-XST,就可以完成综合.一般而言,会有三种结果: 仿真完成 Warn警告 ERROR错误 Warn会在Synthesize-XST出现黄色警示,而Error有红色标识.

java文件

File类 为了很方便的代表文件的概念,以及存储一些对于文件的基本操作,在java.io包中设计了一个专门的类——File类. 在File类中包含了大部分和文件操作的功能方法,该类的对象可以代表一个具体的文件或文件夹,所以以前曾有人建议将该类的类名修改成FilePath,因为该类也可以代表一个文件夹,更准确的说是可以代表一个文件路径. 1.File对象代表文件路径 File类的对象可以代表一个具体的文件路径,在实际代表时,可以使用绝对路径也可以使用相对路径. 下面是创建的文件对象示例. publ