File的util类

常用的类,包,接口,各5个 类: java.lang.Object; java.lang.String; java.lang.Runtime; java.io.file; java.io.BufferdReader;  等。。。。 包: java.lang; java.io; java.swt; java.util; java.sql; javax.servlet;   and so on.... 阅读详情

    这里集合了file操作,包括,对文件属性的查询,file的新建,删除,移动(重命名)等。

陆续还会补充其他功能,也希望诸位网友提供新需求,MSN:changchun08521@hotmail.com

 

package test;

import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

/**
 * <li>Title: FileUtil.java</li>
 * <li>Project: server</li>
 * <li>Package: java file operated</li>
 * <li>Description: </li>
 * <li>Copyright: Copyright (c) 2009</li>
 * <li>Company: IdealTechnologies </li>
 * <li>Created on May 9, 2009 1:21:39 PM</li>
 * @author chun_chang
 * @version 1.0
 */
public class FileUtil {
 private static boolean isSuccess = false;
 
 /**
  * get file or folder base-info,include fileSize,occupySize,fileCount,folderCount,lastModefyTime
  * @param file
  * @param isNTFS true ntfs,false fat
  * @return
  * @CreateOn May 11, 2009  1:10:05 PM
  * @author chun_chang
  */
 public static Map<String, Long> getFileInfo(File file,boolean isNTFS) {
  long fileSize = 0, occupySize = 0, fileCount = 0, folderCount = 0;
  long lastModefyTime = file.lastModified();
  Map<String, Long> map = new HashMap<String, Long>();
  if (file.isDirectory()) {
   folderCount++;
   fileInfo(file);
   fileCount = val[0];
   fileSize = val[1];
  } else {
   fileCount = 1;
   fileSize = file.length();
  }
  // (int(x/4096)+2)*4096 fat32 +2 ntfs +1
  if(isNTFS){
   occupySize = Math.round(((long) (Math.floor((fileSize) >>> 12) + 1) << 12));
  }else{
   occupySize = Math.round(((long) (Math.floor((fileSize) >>> 12) + 2) << 12));
  }
  map.put("fileSize", fileSize);
  map.put("occupySize", occupySize);
  map.put("fileCount", fileCount);
  map.put("folderCount", folderCount);
  map.put("lastModefyTime", lastModefyTime);
  System.out.println(fileSize +"|"+ occupySize +"|"+ fileCount +"|"+ folderCount +"|"+ lastModefyTime);
  return map;
 }
 /**
  * 描述:getFileInfo 递归-计算文件夹下文件数和占用空间
  *
  * @param file
  * @CreateOn Feb 28, 2009 1:33:13 PM
  * @author chun_chang
  */
 private static long[] val = new long[2];// fileCount fileSize
 private static void fileInfo(File file) {
  java.io.File[] f = file.listFiles();
  for (int i = 0; i < f.length; i++) {
   if (f[i].isDirectory()) {
    fileInfo(f[i]);
   } else {
    val[0] += 1;
    val[1] += f[i].length();
   }
  }
 }
 
 /**
  * create file or folder.
  * @param file
  * @return
  * @CreateOn May 9, 2009 1:27:04 PM
  * @author chun_chang
  */
 public static boolean createFile(File file) {
  try {
   if (file.isDirectory()) {
    isSuccess = file.mkdirs();
   } else {
    if(!file.getParentFile().exists()){
     file.getParentFile().mkdirs();
    }
    isSuccess = file.createNewFile();
   }
  } catch (IOException e) {
   e.printStackTrace();
  }
  return isSuccess;
 }

 /**
  * delete file or folder.
  * @param file
  * @return
  * @CreateOn May 9, 2009 1:30:06 PM
  * @author chun_chang
  */
 public static boolean deleteFile(File file) {
  if (file.isDirectory()) {
   File[] f = file.listFiles();
   for (int i = 0; i < f.length; i++) {
    isSuccess = deleteFile(f[i]);
   }
  }
  isSuccess = file.delete();
  return isSuccess;
 }

 /**
  * move/copy file or folder.if <code>from</code> is a folder,move sub-files.
  * @param from: from is file or folder
  * @param to: to is folder
  * @return
  * @CreateOn May 9, 2009 1:45:45 PM
  * @author chun_chang
  */
 public static boolean fileMove(File from, File to) {
  if (to.isDirectory()) {
   if (from.isDirectory()) {
    java.io.File[] files = from.listFiles();
    for (int i = 0; i < files.length; i++) {
     if (files[i].isDirectory()) {
      java.io.File ff = new java.io.File(files[i].getPath());
      java.io.File ft = new java.io.File(to + "/" + files[i].getName());
      if (ft.exists()) {
       FileUtil.deleteFile(ft);
      } else {
       ft.mkdirs();
      }
      fileMove(ff, ft);
     } else {
      java.io.File moveFile = new java.io.File(to.getPath() + "/" + files[i].getName());
      if (moveFile.exists()) {
       moveFile.delete();
      }
      isSuccess = files[i].renameTo(moveFile);
     }
    }
   } else {
    File ff = new File(new StringBuffer(from.getAbsolutePath() + "/" + to.getPath()).toString());
    from.renameTo(ff);
   }
  } else {
   System.out.println(" the dest path '" + to.getAbsolutePath() + "' must be a folder...");
  }
  return isSuccess;
 }

 /**
  * @param args
  * @CreateOn May 9, 2009 1:21:22 PM
  * @author chun_chang
  */
 public static void main(String[] args) {
  File f1 = new File("D://Entegor//test.bat");
  //createFile(f1);
  getFileInfo(f1,false);
 }

}

 

 

Java实用工具类库:ZycUtil与java.util深度解析 Java Util类库,全称为Java标准类库,是Java编程语言的核心库。Util是Utility(工具)的缩写,顾名思义,它包含了Java编程中常用的一些工具类与接口。这些类库为Java开发者提供了处理日期、时间、集合、数据比较、系统属性获取、数组排序、对象复制等操作的简便方法。Java Util类库贯穿在Java应用开发的各个阶段,从基础的数据结构到复杂的并发程序设计,都能见到它的身影。掌握Util类库不仅能够提高开发效率,还能在应对各种编程挑战时提供丰富的解决方案。 阅读详情

相关推荐

FileUtil工具类

文件上传的工具类。里面包括一些文件的下载以及上传。都是封装好的一些方法,很好用的。

Java文件操作工具类FileUtils

package com.suobei.xinzhiying.base.utils.file; import com.suobei.xinzhiying.base.result.ResponseMap; import com.suobei.xinzhiying.base.utils.aliyun.AliOssUtils; import com.suobei.xinzhiying.base.util

学习达人的日记本 1万+

告别机载网络通信混乱:利用ARINC825的LCC与带宽管理机制构建高可靠CAN总线

本文深入探讨了ARINC825规范如何通过逻辑通信通道(LCC)和带宽管理机制解决机载CAN总线通信的混乱问题。文章详细解析了ARINC825的核心架构设计、LCC工程实现、时间触发带宽管理等关键技术,展示了其在提升航空电子系统可靠性和实时性方面的显著效果,为现代飞机通信系统提供了高可靠解决方案。

weixin_26878995的博客 241

FileUtil 文件操作工具类,7步搞懂分布式全内容

千千万万要记得:多刷题!!多刷题!!之前算法是我的硬伤,后面硬啃了好长一段时间才补回来,算法才是程序员的灵魂!!!!篇幅有限,以下只能截图分享部分的资源!!(1)多线程(这里以多线程为代表,其实整理了一本JAVA核心架构笔记集)(2)刷的算法题(还有左神的算法笔记)(3)面经+真题解析+对应的相关笔记(很全面)(4)视频学习(部分)ps:当你觉得学不进或者累了的时候,视频是个不错的选择在这里,最后只一句话:祝大家offer拿到手软!!

m0_60721695的博客 1390

基于OSPF技术的某企业网络设计(完整文档+ENSP拓扑图)

主要对网络规划与设计,以企业网络为背景,对某个中型企业网络进行规划设计,该企业总部在南京,在常州有一个分公司,需要实现总部和分公司能够访问外网,能够让分公司内的用户或主机访问总部服务器的资源,并且保证数据的安全性。在这次总部企业网络设计中,考虑到资金的问题,核心层部署2台核心三层交换机,负责转发总部内部用户的流量,并充当内部用户网关,能够实现内部不同网段的用户之间的连通性。对于一些对网络比较敏感的企业或用户,对网络的要求较高,对于网络的稳定性和安全性也有较高的要求。

qq1325513482的博客 2万+

Accelstepper 库中的参数计算公式

要完全调试电机的各个参数,例如最大速度,加速度等,就需要了解其计算公式和原理。 以下是代码注释: /// This code uses speed calculations as described in /// "Generate stepper-motor speed profiles in real time" by David Austin/// http://fab.cba.mi...

wenguitao的博客 4455

JAVA开发经验(二):常用工具类2.1-IO-文件操作类(FileUtil)

摘要说明: FileUtil主要是整合Apache Commons IO库中的FileUtils类;主要包括对文件的属性查询,复制,移动,文件读取,删除等 Apache Commons IO库包含实用程序类,流实现,文件过滤器,文件比较器,字节序转换类等等 Maven依赖: &lt;dependencies&gt; &lt;!-- Apache Commons IO库包含实用程序类...

叶落自飘零的博客 5988

在银河麒麟V10上部署Atlas 300i Duo:从固件到驱动的一站式踩坑笔记

日期:2025-09-09关键词:鲲鹏920、Atlas 300i Duo、银河麒麟V10、NPU、驱动、固件。

weixin_41544125的博客 2810

FileUtil的使用

package com.example.forth; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FilenameFilter; import java.util.ArrayList; import ja.

dxm809的博客 2369

一文读懂AI协同办公领域发展和趋势

协同办公,又称OA,是指企业内部或外部各类人员之间利用信息技术来进行协作工作的一种形式。这种协作工作既可以由直接员工进行,也可以来自外部的咨询机构、合作伙伴或联营企业。协同办公的优势在于可以对资源进行有效管理和配置,各部门之间可以建立良好的协作关系,跨部门更好地实现资源共享。

女王の专属领地 2359

RT-DETR改进策略【模型轻量化】| 替换骨干网络为 2024轻量化网络MoblieNetV4:移动生态系统的通用模型

本文记录的是基于MobileNet V4的RT-DETR目标检测轻量化改进方法研究。通过整合UIBMobile MQA以及优化的NAS策略能够在在不降低性能指标的前提下,降低计算成本。本文配置了原论文中和五种模型,以满足不同的需求。

Limiiiing的博客 1922

Java常用类(三):FileUtils类

FileUtils类常用方法: 1.复制文件夹 FileUtils.copyDirectory(File srcDir, File destDir) // 复制文件夹(文件夹里面的文件内容也会复制) FileUtils.copyDirectory(File srcDir, File destDir, FileFilter filter) // 复制文件夹,带有文件过滤功能 FileUtils.copyDirectoryToDirectory(File srcDir, File destDir) /.

sulia1234567890的博客 2万+

手把手教你学simulink(8.2)--simulink的实战案例:信号分析

通过以上步骤,你已经成功使用 Simulink 对信号进行了频谱分析和时域分析,提取了信号的有用信息。这个案例展示了如何创建 Simulink 模型、添加和连接模块、设置仿真参数、运行仿真以及分析结果。希望这个案例能帮助你更好地理解和使用 Simulink 进行信号分析。

MHD0815的博客 1123

File Util 类

package com.nexaweb.vbtoxal.file; import java.io.BufferedReader; import java.io.File; import java.io.FileFilter; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io...

zhijin 257

红米K70至尊版修复“nv损坏”主板电阻图示 mtk芯片工程固件刷写与步骤说明

💝💝💝红米K70至尊版 机型代码:rothko,搭载天玑9300+旗舰芯片.后置5000万像素索尼IMX906高动态OIS主摄,800万像素超广角镜头,200万像素微距镜头,前置2000万像素摄像头,也适用于以下型号的小米机型:2407FPN8EG,2407FPN8ER,XIG06,A402XM,2407FRK8EC。 💝💝💝通过博文了解 1💝💝💝-----此机型工程固件的资源刷写注意事项 2💝💝💝-----此机型刷写工程固件预览界面 3💝💝💝------红米K

小马哥的专栏 1459

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

JavaIO---File输入输出流、打印流、Java.util.Scanner类、装饰设计模式及序列化

JavaIO—File输入输出流、打印流、Java.util.Scanner类、装饰设计模式及序列化 IO基于抽象类。 File文件操作类(字节输入输出流、字符输入输出流) 字符编码 转换流 内存流 打印流 System对IO类的支持 两种输入流 Java.util.Scanner类 序列化 File文件操作类 在Java.io包中,File类是唯一一个与文件本身操作(创建、删除、获取信息等)...

weixin_42617262的博客 645

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

idea中 java.util.Date不自动导入的解决方法

解决方法 File -> Editor -> General ->Auto Import -> Exclude from import and completion-> 删除java.util.Date

建仔的博客专栏 2300

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

date设置时间_解决 IDEA 无法找到 java.util.Date 的问题

原文首发于 https://studyidea.cn/问题最近在项目中频繁使用到 java.util.Date,但是使用 IDEA 提示查找 Date 类,却无法找到 java.util.Date。可以看到,智能提示的结果没有 java.util.Date。没办法,只能暂时手动导入该包。最近闲下来,又碰到该问题,查找了一番解决过程,终于将其解决。首先我们打开 File|Setting|Editor...

weixin_39633090的博客 804

Java API

Object 类:所有Java类的超类,提供了诸如 equals() 、 hashCode() 和 toString() 等基础方法。- Date 类:用于处理日期和时间,但在Java 8之后,推荐使用 java.time 包中的新日期和时间API。- System 类:提供了标准输入、输出和错误输出流,以及一些与系统相关的操作,如获取当前时间、数组复制等。- HashMap 类:哈希表,实现了 Map 接口,用于存储键值对,提供快速的查找操作。1. java.lang 包。

wu_xi_di_xi的博客 349

java基础总结(五)

API— java.lang.System: 属性和行为都是静态的。 long currentTimeMillis(); // 返回当前时间毫秒值 exit(); // 退出虚拟机 Properties getProperties() ; // 获取当前系统的属性信息Properties prop = System.getProperties(); //获取系统的属性信息,并将这些信息存储

changjj_niu的博客 494

idea svn如何解决冲突问题_解决 IDEA 无法找到 java.util.Date 的问题

原文首发于 studyidea.cn点击查看更多技巧问题最近在项目中频繁使用到 java.util.Date,但是使用 IDEA 提示查找 Date 类,却无法找到 java.util.Date。可以看到,智能提示的结果没有 java.util.Date。没办法,只能暂时手动导入该包。最近闲下来,又碰到该问题,查找了一番解决过程,终于将其解决。首先我们打开 File|Setting|Editor|...

weixin_42517503的博客 160

java基础教程7:包

java中包的作用是将功能相关的类和接口组织在一起,同时防止命名冲突,进行访问控制。包也采用树形目录结构。 注意,包和继承并没有什么关系,下面展现了一种java.applet包中类的继承关系。 java.lang包: java.lang.Object类:是所有类的父类 java.lang.Class类:用于运行时对象识别,定义为final(不能继承),构造函数为private(不能手动实例化

define_us的专栏 456

黑马程序员《java基础总结(十二)》(IO流<File类、打印流>)

---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------  File类:将文件系统中的文件和文件夹封装成了对象。提供了更多的属性和行为可以对这些文件和文件夹进行操作。这些是流对象办不到的,因为流只操作数据。   File类常见方法: 1:创建。

小蚊子的专栏 875

Java equals 和== 区别

用==或!=比较基本类型的值是否相同用==或!=或equals比较两个对象的引用是否相同而JDK类中有一些类覆盖了oject类的equals()方法,比较规则为:如果两个对象的类型一致,并且内容一致,则返回true,这些类有: java.io.file,java.util.Date,java.lang.string,包装类(Integer,Double等) ...

2012 194

java常用类,包和接口

类 java.lang.Object:java超类 java.lang.String:字符串封装对象 java.lang.System:代表java程序的运行平台 java.io.File:文件操作类 java.io.FileInputStream:用于读取本地文件中的字节数据 java.lang.Thread:线程类 包 java.lang:java编程基础类 java.net:提供实现网络应用和开发的类 java.io:系统输入输出 java.util:该包提供了包含集合框架、遗留的集合类、事件模

weixin_43166227的博客 1335

C Util 实用工具类

C# Util 实用工具类 去发现同类优质开源项目:https://gitcode.com/ C# Util 实用工具类是一个集成了多种常用功能的工具库,旨在简化C#开发过程中的代码编写。该工具类包含以下常用模块:Json、Net、Time、Compress、Config、Enums、File 等,为开发者提供便捷的编程支持。 功能介绍 Json:提供Json序列化和反序列化的工具方法,方便进行...

gitblog_06754的博客 647
上一篇: 比较一个类的两个对象是否相同
下一篇: windows、linux正则路径
chun521
博客等级 码龄20年 11粉丝 144原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值