位置: IT常识 - 正文

File的使用(file file=new file()的作用)

编辑:rootadmin
File的成员方法有很多,但是只有一部分需要注意:【创建/遍历/获取】 package com.Lucky.File; import java.io.File; import java.text.SimpleDateFormat; import java.util.Date; /** * File的 ...  File的成员方法有很多,但是只有一部分需要注意:【创建/遍历/获取】package com.Lucky.File;import java.io.File;import java.text.SimpleDateFormat;import java.util.Date;/*** File的成员方法【常用】:* 1.isDirectory() 判断是否为文件夹* 2.isFile() 判断是否是文件* 3.exists() 判断是否不存在* 4.getName() 获取文件名称【如果是文件就返回文件名+文件后缀】【如果是文件夹就返回文件名】* 5.getAbsolutePath() 获取文件的绝对路径* 6.getPath() 获取定义文件的路径【获取new File()这里的路径】* 7.length() 获取文件的大小【单位是字节,注意:不能获取文件夹的大小】* 8.lastModified 获取文件最后被修改的毫秒值*** 接下来的是: File的创建以及删除方法:看FileMothods1*/public class FileMothods {public static void main(String[] args) {String str="C:\\Users\\Lucky\\Desktop\\测试文件夹";String child="cs.txt";System.out.println("----File(String str) 把字符串的路径信息转换成File对象----");File file1=new File(str);System.out.println(file1);System.out.println("------------------------成员方法---------------------------");System.out.println(file1.isDirectory());System.out.println(file1.isFile());System.out.println(file1.exists());System.out.println();File val=new File("H:\\项目\\javaSE\\IO\\src\\com\\Lucky\\File\\test");System.out.println(val.getName());System.out.println(val.getAbsolutePath());System.out.println(val.getPath());System.out.println(val.lastModified()); //获取文件最后被修改的毫秒值///拓展: 将该时间的毫秒值转化成格式为 : yyyy年MM月dd日long nb= val.lastModified();Date date =new Date(nb);SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy年MM月dd日");System.out.println(dateFormat.format(date));}}

推荐整理分享File的使用(file file=new file()的作用),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:file的常用方法,file类的使用,file怎么使用,file的常用方法,file类的使用,file的常用方法,file怎么使用,file的使用方法和技巧,内容如对您有帮助,希望把文章链接给更多的朋友!

File的使用(file file=new file()的作用)

  

package com.Lucky.File;import java.io.File;/*** File对象之创建/删除方法* 1.createNewFile 创建一个新的文件* 【注意点:①创建的一定是文件②原来不存在返回true,否则false③如果父级路径不存在,会报IO异常】* 2.mkdir 创建一个新的文件夹* 【注意点:①创建的文件夹路径是唯一的②创建单个文件夹】* 3.mkdirs 创建一个/多个新的文件夹* 【注意点:①创建的文件夹路径是唯一的②创建一个/多个新的文件夹】* 4.delete 删除文件【或空文件夹】*/public class FileMothods1 {public static void main(String[] args) {File val=new File("H:\\项目\\javaSE\\IO\\src\\com\\Lucky\\File\\test");boolean delete = val.delete();/*只能删除文件【或空文件夹】*/System.out.println(delete);}}

  

package com.Lucky.File;import java.io.File;import java.io.FilenameFilter;import java.util.Arrays;/*** File的遍历: listFiles() 获取当前路径下的所有内容*//*当调用者File表示的路径不存在时,返回null当调用者File表示的路径是文件时,返回null当调用者File表示的路径是一个空文件夹时,返回一个长度为0的数组当调用者File表示的路径是一个有内容的文件夹时,将里面所有文件和文件夹的路径放在File数组中返回当调用者File表示的路径是一个有隐藏文件的文件夹时,将里面所有文件和文件夹的路径放在File数组中返回,包含当调用者File表示的路径是需要权限才能访问的文件夹时,返回null件*/public class FileMothods2 {public static void main(String[] args) {File file=new File("H:\\YunGameDownload\\leidian\\data");File[] files = file.listFiles();for (File file1 : files) {System.out.println(file1);}/////////////////////////////////////////////////////////////////////////System.out.println("----了解即可----");System.out.println("list");File file1=new File("H:\\YunGameDownload\\leidian\\data");String[] list = file1.list();System.out.println("获取当前路径下的所有内容【仅仅是名称】"+list); //返回的是数组//new FilenameFilter()文件过滤器String[] list1 = file1.list(new FilenameFilter() {/*dir: 表示父级路径name: 表示子级路径return: true代表保留,反之代表舍弃*/@Overridepublic boolean accept(File dir, String name) {//过滤要求:是文件并且文件后缀是.txtFile file2 = new File(dir, name);return file2.isFile() && file2.getName().endsWith(".txt");}});System.out.println(Arrays.toString(list1)+"\n");System.out.println("listRoots");File[] files1 = File.listRoots();System.out.println(files1);}}  File的综合小练习:package com.Lucky.File;import java.io.File;/*练习1要求: 查询所有盘符下的.jpg文件【存在Bug】练习2要求: 删除指定目录的所有内容【不操作,我怕删除掉我的小电影】注意点:{步骤:先进入文件夹,遍历文件夹,再判断文件夹里面的每一个内容如果“文件夹里面的内容”是文件就直接delete如果“文件夹里面的内容”又是一个文件夹,就再次调用【利用递归】-->最后√如果是空文件夹就直接delete}*/public class test {public static void main(String[] args) {findAll();}public static void findAll(){//获取全部盘符File[] files = File.listRoots();for (File file : files) { // file== C D E F G// String string = file.toString();// string =string+"\\";// File valFile=new File(string);findALL(file);}}/*** 单个盘符的所有jpg文件* @param file*/public static void findALL(File file){File file1=new File("file");//1.进入文件夹File[] files = file1.listFiles();//2.遍历if(files!=null){for (File FI : files) {//3.判断[也是递归终止的条件]if(FI.isFile()){System.out.println(FI.getName().endsWith(".jpg"));}else {//不是文件,就重复调用该方法【递归】findALL(FI);}}}}}

  

package com.Lucky.File;import java.io.File;/*练习3要求:查询指定路径下的总大小*/public class test1 {public static void main(String[] args) {File file=new File("H:\\YunGameDownload\\leidian\\data");System.out.println(findCount(file)); //单位是字节}public static long findCount(File file){long len=0; //总大小//打开文件夹File[] files = file.listFiles();for (File file1 : files) {//判断是否是文件夹if(file1.isFile()){long val=file1.length();len+=val;}else {//不是文件【证明这是文件夹{使用递归}】/*注意点: 调用递归之后,递归里面的变量值不会累加【len是局部变量】*///解决方法:len+=findCount(file1);}}return len;}}

  

package com.Lucky.File;/*练习3:统计指定路径下每种类型的文件数量*/import java.io.File;import java.util.HashMap;import java.util.Map;import java.util.Set;/*** 分析: 要用到 --> Map集合 递归 File*/public class test2 {public static void main(String[] args) {File fi=new File("H:\\YunGameDownload\\leidian");//调用方法HashMap<String, Integer> map = anyFileCount(fi);Set<String> strings = map.keySet();for (String string : strings) {//获取值Integer integer = map.get(string);System.out.println(string+":"+integer);}}public static HashMap<String,Integer> anyFileCount(File file){//1.定义Map集合HashMap<String,Integer> map=new HashMap<>();//2.进入文件夹File[] files = file.listFiles();//3.遍历for (File file1 : files) {//4.判断是不是文件。if(file1.isFile()){// 5.是文件获取文件名【文件名包括后缀】String fileName = file1.getName();String[] splitName = fileName.split("\\.");//这个符号要进行转义//6.判断splitName的长度是否>=2【排除那些没有后缀的文件】if(splitName.length>=2){//7.获取后缀int Intval= splitName.length-1;String val=splitName[Intval];//8.判断map集合中是否存在该后缀if(map.containsKey(val)){//9.存在就获取map集合中该键的值【数量】Integer integer = map.get(val);integer++;//10.将添加的数量添加到map集合中map.put(val,integer);}else {//不存在就直接添加数据map.put(val,1);}}}else {//不是文件【就是文件夹】使用递归/*注意点:将递归的数据也要添加到map集合中*/HashMap<String,Integer> chileCount=anyFileCount(file1);//遍历chileCount集合Set<Map.Entry<String, Integer>> entries = chileCount.entrySet();for (Map.Entry<String, Integer> entry : entries) {String key = entry.getKey();int val = entry.getValue();//判断map集合中是否存在该后缀if(map.containsKey(key)){//9.存在就获取map集合中该键的值【数量】Integer integer = map.get(key);integer=integer+val;//10.将添加的数量添加到map集合中map.put(key,integer);}else {//不存在就直接添加chileCount集合的数据map.put(key,val);}}}}//11.返回集合return map;}}  拓展:File的构造方法package com.Lucky.File;import java.io.File;/*** File类的构造器方法讲解:** File(String str) 把字符串的路径信息转换成File对象* File(String parent,String Child) 将父级路径字符串与子路径字符串拼接成File对象* File(File parent,String Child) 将父级路径与子路径字符串拼接成File对象** 每天一个小知识:* File对象可以表示为文件/路径/文件夹【可以允许File不存在】* 绝对路径是指带有盘符的路径信息* 相对路径是根据当前项目找的路径*/public class flieConstructor {public static void main(String[] args) {String str="C:\\Users\\Lucky\\Desktop\\测试文件夹"; //不存在的String child="cs.txt"; //不存在的System.out.println("----File(String str) 把字符串的路径信息转换成File对象----");File file1=new File(str);System.out.println(file1);System.out.println("----File(String parent,String Child) 将父级路径字符串与子路径字符串拼接成File对象----");File file2=new File(str,child);System.out.println(file2);System.out.println("----File(File parent,String Child) 将父级路径与子路径字符串拼接成File对象----");File file3=new File(file1,child);System.out.println(file3);}}

  

本文链接地址:https://www.jiuchutong.com/zhishi/311644.html 转载请保留说明!

上一篇:帝国CMS会员注册加入问答验证的方法(帝国cms会员注册天数自动升级会员组)

下一篇:帝国CMS常用函数有哪些(帝国cms使用手册)

  • iphone丢了如何用另一个手机定位找回(iphone丢了如何用另一个手机发消息)

    iphone丢了如何用另一个手机定位找回(iphone丢了如何用另一个手机发消息)

  • win11任务管理器快捷键(win11任务管理器进程不显示gpu)

    win11任务管理器快捷键(win11任务管理器进程不显示gpu)

  • vivo S9使用的是什么GPU(vivo s9使用心得)

    vivo S9使用的是什么GPU(vivo s9使用心得)

  • els-tn00是什么型号(elzan00是什么型号)

    els-tn00是什么型号(elzan00是什么型号)

  • 华为手机保存的视频在哪里找(华为手机保存的图片在相册找不到)

    华为手机保存的视频在哪里找(华为手机保存的图片在相册找不到)

  • 手机屏幕自己一明一暗咋回事(手机屏幕自己一闪一闪的)

    手机屏幕自己一明一暗咋回事(手机屏幕自己一闪一闪的)

  • amda107300相当于i几(amd a107300)

    amda107300相当于i几(amd a107300)

  • 华为手机网速显示在哪里设置(华为手机网速显示怎么设置)

    华为手机网速显示在哪里设置(华为手机网速显示怎么设置)

  • 华为手机型号se是什么意思(华为手机型号sEA一AL10)

    华为手机型号se是什么意思(华为手机型号sEA一AL10)

  • 苹果电池什么时候该换了(苹果电池什么时候开始掉)

    苹果电池什么时候该换了(苹果电池什么时候开始掉)

  • 光猫桥接和路由的区别(光猫桥接和路由哪个稳定)

    光猫桥接和路由的区别(光猫桥接和路由哪个稳定)

  • airpods支持ios几(airpods支持ios9吗)

    airpods支持ios几(airpods支持ios9吗)

  • 苹果11无故关机什么原因(苹果无故关机过段时间又能开)

    苹果11无故关机什么原因(苹果无故关机过段时间又能开)

  • 苹果总是自动关闭软件(苹果总是自动关机是什么原因)

    苹果总是自动关闭软件(苹果总是自动关机是什么原因)

  • 华为nova支持无线充电的手机(华为nova支持无线充电带nfc的手机)

    华为nova支持无线充电的手机(华为nova支持无线充电带nfc的手机)

  • 京东怎么看交易记录(京东怎么看交易截图)

    京东怎么看交易记录(京东怎么看交易截图)

  • 小米8双4g设置有什么用(小米手机双4g怎么设置)

    小米8双4g设置有什么用(小米手机双4g怎么设置)

  • vivoz5x电池耐用吗(vivoz5x的电池容量)

    vivoz5x电池耐用吗(vivoz5x的电池容量)

  • oppoa3录屏怎么没有声音(oppo a 73录屏怎么找不到)

    oppoa3录屏怎么没有声音(oppo a 73录屏怎么找不到)

  • air pods怎么用(airpods怎么用耳机暂停)

    air pods怎么用(airpods怎么用耳机暂停)

  • 淘宝账户被冻结如何办(淘宝账户被冻结怎么解除支付宝绑定)

    淘宝账户被冻结如何办(淘宝账户被冻结怎么解除支付宝绑定)

  • 虎扑如何升级发帖(虎扑怎样升级)

    虎扑如何升级发帖(虎扑怎样升级)

  • 最小的硬盘是什么(硬盘最小的存储单位)

    最小的硬盘是什么(硬盘最小的存储单位)

  • Vue中二级菜单的实现(vue二级菜单的隐藏与显示)

    Vue中二级菜单的实现(vue二级菜单的隐藏与显示)

  • 可以抵扣进项税额的增值税普通发票
  • 普通发票被作废的话财务会发现吗
  • 存货售出后是否含税
  • 预交所得税利润表怎么填
  • 分公司企业所得税分配比例
  • 物业公司财务制度及核算方法
  • 企业向个人借款合同模板
  • 汇兑损益属于企业成本吗
  • 三栏式明细分类账的账页格式适用于
  • 分配现金股利的现金流
  • 出纳现金日记账表格模板
  • 筹建期间取得的专用发票怎么入账
  • 企业采购材料没有发票是要交企业所得税吗
  • 供电局发票金额可以多开吗
  • 冲销无形资产如何会计分录?
  • 公司发的现金
  • 提高并购成本
  • 代扣代缴的社保需要计提吗
  • 存货损失的账务处理
  • 个人独资企业简易注销流程及材料
  • 收到其他与经营活动有关的现金减少
  • 小米手环2支持nfc功能?
  • 公司代缴社保公司吃亏吗
  • php的编辑工具有哪些
  • 申请一般纳税人公司流程
  • 公司水费怎么算
  • 销售点的增值税计算公式
  • 如何认定为软件企业
  • 没签订采购合同怎么办
  • 新会计准则关于公司装修费
  • php文本统计访问量
  • 税款减免科目月数怎么算
  • 猿创征文,新芯设计
  • php类的定义
  • 管家婆付款单凭证科目如何修改
  • 税款已缴纳可以作废申报吗
  • 招待费的进项税必须认证后转出吗
  • 工业企业采购部工作职责
  • 长期挂账的"其他应收款"该怎么处置
  • 调账处理
  • 编制科目余额表的方法
  • 企业贷款的条件和流程
  • access调用sql
  • CentOS 7下MySQL服务启动失败的快速解决方法
  • 金税四期有很多不实的传言
  • 对外销售产品会计分录
  • 不动产进项税额抵扣从什么时候开始
  • 公司使用pos机
  • 衍生工具的作用是什么
  • 关联企业是如何运作的
  • 新会计准则开办时间规定
  • 什么是投资性房地产具体包括哪些内容
  • 异地开立分公司条件
  • 实收资本是什么公司
  • 修改企业账套的步骤
  • MySQL 4.1/5.0/5.1/5.5/5.6各版本的主要区别整理
  • window英语
  • win8关闭开机启动项
  • ububtu安装教程
  • ubuntu12.04 amd64系统中lamp环境搭建方法
  • 怎么在centos中创建一个文件
  • windows注册表修改任务栏
  • linux系统中scp命令的使用介绍
  • win10系统注册名修改
  • windows10 2021预览版
  • 博主是re_mini_scene
  • cocos2dx camera
  • shell发送报文
  • perl 时间转换
  • JavaScript中的方法名不区分大小写
  • ssh连不上centos
  • js网页自动化
  • 命令行net
  • nodejs 模块
  • node基础知识
  • android插件化原理面试
  • 下拉列表框模糊匹配
  • 面试java基础知识
  • jquery each return
  • 地税局属于国家公务员吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设