从零学Java File

Java File

文章目录

  • Java File
    • 常用方法
      • File 表示文件时
      • File 表示目录时
    • 常用案例
      • 1 递归显示文件夹和文件
      • 2 递归删除

概念:代表物理盘符中的一个文件或者文件夹。

常用方法:

createNewFile()//创建一个新文件
mkdirs()//创建一个新目录
delete()//删除文件或空目录 
exists()//判断File对象所对象所代表的对象是否存在
getAbsolutePath()//获取文件的绝对路径
getName()//取得名字 
getParent()//获取文件/目录所在的目录
isDirectory()//是否是目录
isFile()//是否是文件
length()//获得文件的长度
listFiles()//列出目录中的所有内容
renameTo()//修改文件名

eg:

常用方法

File 表示文件时

/**File: 表示文件1 创建2 删除3 获取4 判断5 重命名*/
public static void fileOpe() throws IOException {//File对象: 表示磁盘中的一个文件File file = new File("e:\\javaee2308.txt");System.out.println(file);//1 创建if (!file.exists()) {System.out.println("创建结果:"+file.createNewFile());} else {System.out.println("文件已存在...");}//2 删除//        System.out.println("删除结果"+file.delete());//3 获取System.out.println("文件名:"+file.getName());System.out.println("文件路径:"+file.getPath());System.out.println("文件绝对路径:"+file.getAbsolutePath());System.out.println("文件大小:"+file.length());System.out.println("文件最后一次的修改时间:"+new Date(file.lastModified()));//4 判断System.out.println("判断是否存在:"+file.exists());System.out.println("判断是否是文件:"+file.isFile());System.out.println("判断是否隐藏:"+file.isHidden());System.out.println("判断是否可写:"+file.canWrite());//5 重命名(具有剪切功能)System.out.println("重命名结果:"+file.renameTo(new File("e:\\QianFeng\\aaa.txt")));
}

File 表示目录时

/**File: 表示目录1 创建2 删除3 获取4 判断5 重命名6 获取目录中的文件和子目录*/
public static void dirOpe() {//创建File对象File dir = new File("e:\\aaa\\bbb\\ccc");System.out.println(dir);//1 创建//dir.mkdir(); //单级目录//多级目录if (dir.exists()) {System.out.println("创建结果:" + dir.mkdirs());} else {System.out.println("已存在");}//2 删除//        System.out.println(dir.delete());//3 获取System.out.println("目录名:"+dir.getName());System.out.println("获取路径:"+dir.getPath());System.out.println("获取绝对路径:"+dir.getAbsolutePath());//4 判断System.out.println("判断是否存在:"+dir.exists());System.out.println("判断是否是目录:"+dir.isDirectory());System.out.println("判断是否隐藏:"+dir.isHidden());//5 重命名System.out.println("重命名结果:"+dir.renameTo(new File("e\\aaa\\bbb\\xxx")));//6 获取目录中的子目录和文件File dir2 = new File("D:\\Users\\胡昊龙\\Pictures\\美图");File[] files = dir2.listFiles(new FilenameFilter() {@Overridepublic boolean accept(File dir, String name) {return name.endsWith(".png");}});if (files != null) {for (File file : files) {System.out.println(file.getName());}}
}

常用案例

1 递归显示文件夹和文件

代码演示:

package StageOne.day21.demoIO;import java.io.File;/*** @author 胡昊龙* @version 1.0* @description: TODO* @date 2024/1/16 17:09*/
public class TestFile2 {public static void main(String[] args) {listDir(new File("D:\\Users\\胡昊龙\\Pictures"),0);}//案例1:递归显示文件夹public static void listDir(File dir, int level) {File[] files = dir.listFiles();System.out.println(getSep(level)+dir.getName());level++;if (files != null) {for (File file : files) {if (file.isDirectory()) {listDir(file,level);} else {System.out.println(getSep(level)+file.getName());}}}}//目录分级显示public static String getSep(int level) {StringBuilder builder = new StringBuilder("|");for (int i = 0; i < level; i++) {builder.append("__");}return builder.toString();}
}

2 递归删除

代码演示:

//案例2:递归删除目录
public static void listDelete(File dir){File[] files = dir.listFiles();if (files != null) {for (File file : files) {if(file.isDirectory()){listDelete(file);}else{System.out.println(file+"..."+file.delete());//删除文件}}}System.out.println(dir+"..."+dir.delete());//删除目录
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/628560.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在linux环境下安装lnmp

lnmp官网&#xff1a;https://lnmp.org 一&#xff1a;lnmp安装 参考&#xff1a;https://lnmp.org/install.html 1&#xff1a;下载lnmp安装包 wget https://soft.lnmp.com/lnmp/lnmp2.0.tar.gz -O lnmp2.0.tar.gz 2&#xff1a;解压lnmp安装包 tar zxf lnmp2.0.tar.gz …

01章【JAVA开发入门】

计算机基本概念 计算机组成原理 计算机组装 计算机&#xff1a;电子计算机&#xff0c;俗称电脑。是一种能够按照程序运行&#xff0c;自动、高速处理海量数据的现代化智能电子设备。由硬件和软件所组成&#xff0c;没有安装任何软件的计算机称为裸机。常见的形式有台式计算机、…

leetcode-344. 反转字符串、9. 回文数

题目1&#xff1a; 解题方法 直接用reverse()即可 代码&#xff1a; class Solution(object):def reverseString(self, s):""":type s: List[str]:rtype: None Do not return anything, modify s in-place instead."""return s.reverse()如果不…

动态规划day09(打家劫舍,树形dp)

目录 198.打家劫舍 看到题目的第一想法 看到代码随想录之后的想法 自己实现过程中遇到的困难 213.打家劫舍II 看到题目的第一想法 看到代码随想录之后的想法 自己实现过程中遇到的困难 337.打家劫舍 III(树形dp) 看到题目的第一想法 看到代码随想录之后的想法 自己实…

PLC绝对定位指令DDRVA往复运动(三菱FX系列简单状态机编程)

有关状态机的具体介绍,专栏有很多文章,大家可以通过下面的链接查看: https://rxxw-control.blog.csdn.net/article/details/125488089https://rxxw-control.blog.csdn.net/article/details/125488089三菱FX系列回原功能块介绍 https://rxxw-control.blog.csdn.net/article…

【MATLAB】 HANTS滤波算法

有意向获取代码&#xff0c;请转文末观看代码获取方式~ 1 基本定义 HANTS滤波算法是一种时间序列谐波分析方法&#xff0c;它综合了平滑和滤波两种方法&#xff0c;能够充分利用遥感图像存在时间性和空间性的特点&#xff0c;将其空间上的分布规律和时间上的变化规律联系起来…

代码随想录训练营第三十期|第七天|哈希表part02|454.四数相加II ● 383. 赎金信 ● 15. 三数之和 ● 18. 四数之和 ● 总结

454. 四数相加 II - 力扣&#xff08;LeetCode&#xff09; class Solution {public int fourSumCount(int[] nums1, int[] nums2, int[] nums3, int[] nums4) {Map<Integer, Integer> map new HashMap<>();for (int n1 : nums1) {for (int n2 : nums2) {int sum…

怎么把一个网站地址生成二维码?扫码跳网站页面

怎么把一个网站地址生成二维码&#xff1f;现在经常会发现扫描日常生活中的一些二维码会跳转到一个对应的网站页面&#xff0c;那么这种类型的二维码是如何生成的呢&#xff1f;如果大家也想要将网址生成二维码图片使用&#xff0c;那么最简单快捷的方法就是找合适的二维码生成…

单片机中的PWM(脉宽调制)的工作原理以及它在电机控制中的应用。

目录 工作原理 在电机控制中的应用 脉宽调制&#xff08;PWM&#xff09;是一种在单片机中常用的控制技术&#xff0c;它通过调整信号的脉冲宽度来控制输出信号的平均电平。PWM常用于模拟输出一个可调电平的数字信号&#xff0c;用于控制电机速度、亮度、电压等。 工作原理 …

第十九章:特殊工具与技术

第十九章&#xff1a;特殊工具与技术 对于很多程序员来说&#xff0c;他们很少会用到本章的介绍的内容。 一.控制内存分配 我们能够重载new和delete&#xff0c;但其实不是对new和delete的重载&#xff0c;只是对new和delete操作符后面的函数进行重载。 当我们使用一条new表…

【Maven笔记3】Maven基础入门案例

本篇通过一个最基础的入门案例&#xff0c;熟悉一下maven最基础的使用方法。 编写POM maven项目的核心是pom.xml文件&#xff0c;pom定义了项目的基本信息&#xff0c;用于描述项目如何构建&#xff0c;声明项目依赖等等。 这里我们新建一个maven-demo-hello项目&#xff0c;…

【用队列实现栈】【用栈实现队列】Leetcode 232 225

【用队列实现栈】【用栈实现队列】Leetcode 232 225 队列的相关操作栈的相关操作用队列实现栈用栈实现队列 ---------------&#x1f388;&#x1f388;题目链接 用队列实现栈&#x1f388;&#x1f388;------------------- ---------------&#x1f388;&#x1f388;题目链…

What is `ResponseEntity` does?

Further Reading &#xff1a; What does ResponseEntity do?

【Spring Boot 3】【数据源】自定义多数据源

【Spring Boot 3】【数据源】自定义多数据源 背景介绍开发环境开发步骤及源码工程目录结构总结背景 软件开发是一门实践性科学,对大多数人来说,学习一种新技术不是一开始就去深究其原理,而是先从做出一个可工作的DEMO入手。但在我个人学习和工作经历中,每次学习新技术总是…

如何引用R语言版本以及R包版本

在分析数据时&#xff0c;我们需要引用R语言的特定版本&#xff0c;以及使用R包的版本&#xff0c;其实R语言中有代码可以调用&#xff0c;下面介绍一下。 1&#xff0c;引用R语言 在R语言中键入&#xff1a; citation()结果&#xff1a; > citation()To cite R in publ…

TCP 的三次握手和四次挥手

Java 面试题 TCP 三次握手 第一次握手&#xff1a;客户端向服务端发送SYN包。报文中标志位SYN1&#xff0c;序列号seqx&#xff08;x为随机整数&#xff09;。此时客户端进入了 SYN_SEND 同步已发送状态。 第二次握手&#xff1a;服务端回复客户端SYNACK包。报文中标志位SYN1&…

用Python制作一个网站来介绍bicart

本文使用创作助手。 下面是一个使用Flask框架制作的bicart介绍网站的示例&#xff0c;其中包括美观的界面、背景颜色和背景音乐&#xff0c;以及图片轮播、描点、登录和注册功能。 from flask import Flask, render_template, request, redirect, url_for, sessionapp Flask…

宿舍管理系统的设计与实现:基于Spring Boot、Java、Vue.js和MySQL的完整解决方案

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…

双向链表的构建

上篇内容给大家带来了单链表的构建&#xff0c;那么本期内容继续给大家带来链表的相关内容----双向链表。 什么是双向链表&#xff1f;双向链表与单链表有什么区别&#xff1f; 在单链表中&#xff0c;咱们每个结点的指针域存放了后继指针&#xff0c;以便于链接每个结点&…

文理导航期刊投稿方式

《文理导航》杂志系国家新闻出版总署批准&#xff0c;内蒙古自治区文旅厅主管&#xff0c;内蒙古自治区北方文化研究院主办的&#xff0c;面向大中专院校、中小学教育的专业性教育刊物&#xff0c;阅读对象是关心教育事业发展的大中专院校、职业教育、中小学教育的专家、教研员…