11_File

在 Windows 10 或 11 上使用开源 File Converter 转换文件 摘要:本文介绍了一款名为File Converter的通用文件格式转换工具,适用于Windows系统用户。该开源软件支持图像、视频、音频等多种文件格式的批量转换,并可通过右键菜单直接操作。文章详细讲解了安装步骤和使用方法,包括如何创建自定义转换预设(如压缩JPEG至50%质量)。虽然该工具不支持压缩包和PDF转Word等特殊转换,但其高效便捷的特点使其成为日常文件格式转换的实用解决方案。用户可通过GitHub免费下载并使用这款多功能转换器。 阅读详情

基本认识

File

File 是 java.io.包下的类,File 类的对象,用与代表当前操作系统的"文件"(即是文件、也是文件夹)

注意:File 类只能对文件本身进行操作,不能读写文件里面存储的数据

对文件本身进行操作:

  • 获取文件信息(大小、文件名、修改时间)
  • 创建文件/文件夹
  • 删除文件/文件夹
  • 判断文件的类型
IO 流

用于读写数据的(可以读写文件,或网络中的数据)

总结
  • File:代表文件
  • IO流:读写数据

File

创建 File 对象
import java.io.File;

public class Test {
    public static void main(String[] args) {
        // 1. 创建一个 File 对象,指代某个具体的文件
        File file = new File("E:/Desktop/temp.txt");
        System.out.println(file.length());  // 3
        // 文件的(字节)大小

        // 2. 创建一个 File 对象,指代某个文件夹
        File folder = new File("E:/Desktop");
        System.out.println(folder.length());  // 12288
        // 文件夹的(字节)大小,不包含文件夹里面的文件大小!只是文件夹它本身的大小

        // 3. File 对象可以指代一个不存在的文件路径
        File file1 = new File("E:/DeskTop/a.txt");
        System.out.println(file1.length());  // 0
        System.out.println(file1.exists());  // false
    }
}
文件操作
// 获取文件的信息

import java.io.File;

public class Test {
    public static void main(String[] args) {
        // 1. 创建一个 File 对象,指代某个具体的文件
        File f1 = new File("E:/Desktop/temp.txt");

        // 2. 判断文件是否存在
        System.out.println(f1.exists());

        // 3. 判断当前文件对象指代的是否是文件
        System.out.println(f1.isFile());

        // 4. 判断当前文件对象指代的是否是文件夹
        System.out.println(f1.isDirectory());

        // 5. 获取文件的名称(包含后缀名)
        System.out.println(f1.getName());

        // 6. 获取文件的大小,返回字节个数
        System.out.println(f1.length());

        // 7. 获取文件最后的修改时间(毫秒值)
        System.out.println(f1.lastModified());

        // 8. 获取创建文件对象时,你输入的路径
        System.out.println(f1.getPath());

        // 9. 获取绝对路径
        System.out.println(f1.getAbsolutePath());
    }
}
// 创建和删除文件

import java.io.File;
import java.io.IOException;

public class Test {
    public static void main(String[] args) throws IOException {
        // 1. 创建一个新文件,成功返回true
        File f1 = new File("E:/Desktop/a.txt");
        System.out.println(f1.createNewFile());

        // 2. 创建文件夹 mkdir,注意:只能创建一级文件夹
        File f2 = new File("E:/Desktop/MyDirectory");
        System.out.println(f2.mkdir());

        // 3. 创建文件夹 mkdirs,注意:可以创建多级文件夹
        File f3 = new File("E:/Desktop/MyDirectory/aaa/bbb/ccc");
        System.out.println(f3.mkdirs());

        // 4. 删除文件,或者空的文件夹,注意:不能删除非空文件夹,想要删除可使用递归删除法
        // 注意,delete方法删除的文件不会进入回收站!
        System.out.println(f1.delete());
        System.out.println(f2.delete());
    }
}
// 获取某目录下的所有文件名(或文件对象)

import java.io.File;
import java.io.IOException;

public class Test {
    public static void main(String[] args) throws IOException {
        // 1. 获取当前目录下所有的"一级文件名称"到一个字符串数组中去返回
        File f1 = new File("E://Desktop/");
        String[] names = f1.list();
        for (String name : names) {
            System.out.println(name);
        }

        // 2. 获取当前目录下所有的"一级文件对象"到一个文件对象数组中去返回 (重点)
        File[] files = f1.listFiles();
        for (File file : files) {
            System.out.println(file.getAbsolutePath());
        }

    }
}
文件搜索(案例)
import java.io.File;
import java.io.IOException;

public class Test {
    public static void main(String[] args) throws IOException {
        // 需求:从E:盘中,搜索"temp.txt"这个文件,找到后直接输出其位置
        // 分析:
        // 1. 先找到E:盘下所有的一级文件对象
        // 2. 遍历全部一级文件对象,判断是否是文件
        // 3. 如果是文件,判断是否是自己想要的
        // 4. 如果是文件夹,需要继续进入到该文件夹,重复上述过程

        String dir = "E:/";  // 要搜索的地方
        String fileName = "temp.txt";  // 搜索目标
        File f = new File(dir);
        // 调用自己写的搜索文件方法
        searchFile(f, fileName);
    }

    /**
     * 去目录下搜索某个文件
     *
     * @param dir      目录
     * @param fileName 要搜索的文件名称
     */
    public static void searchFile(File dir, String fileName) {
        // 1. 把非法的情况都拦截住
        if (dir == null || !dir.exists() || dir.isFile()) {
            return;  // 代表无法搜索
        }

        // 2. 获取当前目录下的全部一级文件对象
        File[] files = dir.listFiles();

        // 3. 判断当前目录下是否存在一级文件对象,以及是否有权限拿到一级文件对象
        if (files != null && files.length > 0) {
            // 4. 遍历全部一级文件对象
            for (File file : files) {
                // 5. 判断文件是否是文件,还是文件夹
                if (file.isFile()) {
                    // 6. 判断这个文件名是否是我们要找的文件
                    if (file.getName().contains(fileName)) {
                        System.out.println("检索到文件!文件路径:" + file.getAbsolutePath());
                    }
                } else {
                    // 是文件夹,继续重复这个步骤
                    searchFile(file, fileName);
                }
            }
        }
    }
}
删除非空文件夹(案例)
import java.io.File;

public class Test {
    public static void main(String[] args) {
        // 删除非空文件夹,独立功能独立成方法
        File dir = new File("E:/Desktop/aaa");
        deleteDir(dir);
    }

    public static void deleteDir(File dir) {
        // 判断是否合法
        if (dir == null || !dir.exists()) return;
        // 如果是文件,直接删除
        if (dir.isFile()) {
            dir.delete();
            return;
        }
        // 如果是文件夹
        File[] files = dir.listFiles();
        // 是否没有操作权限?
        if (files == null) return;
        // 文件夹是否为空?
        if (files.length == 0) {
            dir.delete();
            return;
        }
        // 文件夹:有权限且非空,先删除里面的内容,再删除自己
        for (File file : files) {
            if (file.isFile()) file.delete();  // 删除里面内容
            else deleteDir(file);  // 删除里面内容
        }
        dir.delete();  // 删除自己
    }
}
别再硬扛了!Android 11分区存储适配,用MediaStore API还是File API?实测性能差异告诉你答案 本文深入探讨Android 11分区存储适配中MediaStore API与File API的性能差异,通过实测数据揭示两者在不同场景下的优劣势。针对开发者面临的适配困境,提供详细的性能对比和实战选型建议,帮助开发者高效完成存储适配工作。 阅读详情

相关推荐

ImportError: libclntsh.so.11.1: cannot open shared object file: No such file or directory解决方案

ImportError: libclntsh.so.11.1: cannot open shared object file: No such file or directory

杨鑫newlife的专栏 6749

Java11—File类与IO

在Java当中 将计算机中所有的文件和目录都用File这个类描述 IO input output 如何对文件进行数据的写入和读取 java.io这个包下面 File类构造函数与分隔符 //File类会自动甄别文件系统路径Linux/Windows //关联了一个相对路径的文件 File f1 = new File("haha.txt"); //特殊:对于当前的IDEA/Eclipse而言 相对路径获取的文件都在项目根目录下 System.out.println(f1.exists()); //项目根目录下

weixin_53334593的博客 266

MiniMax H3 + ComfyUI 工作流搭建指南:从整合包到视频生成

AI视频生成正成为内容创作的新基础设施,而ComfyUI作为可视化工作流引擎,将复杂的模型推理过程拆解为节点与连线,让本地视频生成变得可复用、可批量。理解这一原理后,用户无需编写代码,只需掌握模型加载、提示词控制、采样与解码的基本链路,即可搭建出稳定的视频生产管线。MiniMax H3作为前沿视频生成模型,在ComfyUI中通过权重文件和自定义节点落地,配合整合包可大幅降低环境配置门槛。从硬件评估、目录结构到节点连接与参数调优,本文系统性梳理了从零跑通一条视频生成工作流的完整路径,帮助用户在批量素材生成、风

weixin_29057065的博客 411

C#11新特性file关键字有毛用?

file关键字是C#11的一个新特征,它是C#一个新的修饰符,可以应用于任何类型定义以限制其只能在当前文件中使用,通俗讲就是只能在当前文件中使用。C#已经有那么多修饰符,那么file关键字有毛用?貌似使用private也可以在当前文件中使用吗?其实不然,我们首先用案例看看它的使用。这新建一个file1.cs文件,代码如下:file class Files1 { ...

zls365365的博客 159

金融波动预测:GARCH模型实战解析与ARIMA对比

本文深入解析GARCH模型在金融波动预测中的实战应用,并与传统ARIMA模型进行对比。通过沪深300指数日收益率数据的案例分析,展示GARCH模型如何有效捕捉波动聚集效应,提升极端波动预测准确率。文章包含Python代码实现、参数解读及模型选择指南,为量化交易者提供实用的波动率建模解决方案。

weixin_29098367的博客 189

点云结构面智能识别与裂隙网络分析系统

点云结构面智能识别系统摘要 本系统采用深度学习与传统几何算法融合的方法,实现岩石结构面的智能识别与分析。系统包含7个核心模块:点云预处理、结构面识别、分组分割、参数计算、粗糙度分析、裂隙网络生成和可视化。技术路线结合PointNet++深度学习架构与RANSAC、区域生长等传统算法,通过预处理→深度学习识别→几何精修→参数计算→网络构建的流程实现高精度分析。预处理模块实现点云降噪、下采样和法向量估计,深度学习模块基于改进的PointNet++架构进行特征提取和分类。系统支持多种点云格式输入,提供完整的结构面

huanghm88的专栏 345

C# 11新特性之file关键字

file 修饰符将顶级类型的范围和可见性限制为声明其的文件。 file 修饰符通常应用于源生成器编写的类型。

What If... 704

嵌入式工程师成长之路(7)——算法学习

算法大全1、风仲达——算法笔记2、坐在马桶上学算法3、啊哈算法4、深度强化学习实验室。

云轩阁 4万+

Linux-0.11 文件系统file_dev.c详解

Linux-0.11 文件系统file_dev.c详解

小x的博客 2156

手把手教你学simulink(8.39)--基于Simulink的步进电机(Stepper Motor)仿真实例

通过这个仿真实例,你可以学习如何使用Simulink构建和仿真步进电机(Stepper Motor)系统。你可以根据实际需求调整模型和参数,进行更复杂的仿真和分析。希望这个例子对你有所帮助,祝你学习愉快!

MHD0815的博客 1052

基于数字图像处理方法的迷宫问题图解 : 基于骨架提取、四邻域

问题是,这条红色的线是人为标记出来的能通的路线,对计算机来看,黑色和红色的线没有任何差异,所以之前的想法压根不起作用。对应于数字图像的表达,就是从远离主干的分支端点出发,如果4邻域中只有一个可以通的道路,那么这个点在分支上。闪电划过,有一道连接了天空和大地,就是迷宫的解,其余的分支就是迷宫中对应的死路。类似这个闪电图,假设图中最粗的主干(迷宫解的路线)是最先形成的,其余的细小的分支是慢慢从主干上形成的。因此,只要在端点的4邻域中,找到可以走的道路,那么一定就是分支,也就是要移除的路线。

Henry的博客 2073

libcublas.so.11: file too short

今天训练的时候报错:ImportError:/xxx/myenv/swift3/lib/python3.10/site-packages/torch/lib/../../nvidia/cublas/lib/libcublas.so.11: file too short。网上搜不到相关的issue,最后重新安装了一下torch (pip install torch==xx 原先的版本)就恢复了。很奇怪 环境最近一直没动过 只有某次训练的时候开始报这个错然后一直可复现。

jiangqixing0728的博客 238

COMSOL有限元仿真深度指南:为结构件添加预应变

一、什么是预应力和预应变? 我们知道,结构力学问题中,结构件在外载荷作用下产生变形响应以吸收外载荷做功带来的能量;而在结构内部,整体的受力和变形则是通过固体微元的应力与应变传递的。 对于线弹性材料来说,应力与应变的关系可以线性表达,也即 σ=Dεσ = Dεσ=Dε ;在该式中,无论固体微元的应变程度多大,弹性矩阵DDD都是一个不变的常值。而对于超弹性材料来说,应力与应变的关系则需要通过应变能密度函数WWW来表征(详细参加博客《COMSOL有限元仿真深度指南:超弹性模型有限元分析入门》)。 从上面我们也不难

忘了面孔的Batou 7170

DGL安装报错 OSError: libcublas.so.11: cannot open shared object file: No such file or directory

安装DGL,出现错误:OSError: libcublas.so.11: cannot open shared object file: No such file or directory原因: 未安装 cudatoolkit解决: DGL安装详情参考官网

qq_42727728的博客 8439

C#上位机开发揭秘:从新手到大神的蜕变之路,代码实例全解析!

上位机通常是与硬件设备(如嵌入式系统、PLC、传感器等)进行通信的计算机程序。它的作用是通过某种通信协议(如串口、TCP/IP 等)向设备发送命令,并接收设备的反馈数据。上位机需要有一个图形用户界面(GUI)来展示数据或控制硬件设备。通过本篇教程,我们介绍了 C# 上位机开发的基本步骤,从串口通信的实现,到图形用户界面的构建,再到进阶功能的实现。作为上位机开发的新手,掌握这些基础知识是非常重要的。而随着经验的积累,你可以逐步尝试更复杂的功能,比如多线程处理、数据分析与存储等。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 4828

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

你还在滥用internal?C# 11 file-local types让你告别类型污染

告别类型污染,提升代码封装性!通过C# 11文件本地类型访问,将类型限定在单个文件内,避免internal滥用。适用于工具类、私有模型等场景,增强安全与可维护性,值得收藏。

StepLens的博客 302

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Oracle 11g 遇到log file sync严重等待事件

数据库版本:11.2.0.3.0 RAC双节点,DG一节点。 RAC节点1正常,RAC节点2出现log file sync严重等待事件,数据库性能受到严重影响。 从AWR报告看: DB Time很高,log file s...

cuihengju8933的博客 915

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

OSError: libcusparse.so.11: cannot open shared object file: No such file or directory

OSError: libcusparse.so.11: cannot open shared object file: No such file or directory

illusionAj1的博客 2331

BUU11 [极客大挑战 2019]Secret File1

提交payload:/?file=php://filter/convert.base64-encode/resource=flag.php(注意这里用base64编码)点击Archive room.php 跳转到一个页面有个secret按钮,然后点击发现直接查阅结束。发现除了end.php页面还有个action.php页面,只不过这个页面被重定向了看不见。这里需要提交一个file参数(就在当前secr3t.php文件下),访问flag.php。然后再访问 secr3t.php。点开源码发现存在一个网站。

2401_86190146的博客 357

android11 file转为uri

Android 11文件转URI的实现指南 在Android开发中,文件与URI的转化是常见的需求。在Android 11中,Google引入了Scoped Storage,改变了对文件访问的方式。本文将指导您如何将文件转为URI,并详细解释整个过程。 流程概述 下面是将文件转换为URI的流程概述,具体步骤可以参考下表: ...

weixin_37055617的博客 547

Windows上安装Oracle11gR2时,出错 File not found D:/app/oracle/product/11.2.0/dbhome_1/bin/orandce11.dll.dbl orancds11r.dll.dbl

<br />在Windows上安装Oracle11gR2时,出错 File not found D:/app/oracle/product/11.2.0/dbhome_1/bin/orandce11.dll.dbl orancds11r.dll.dbl<br /> <br /><br /><br />如图所示:<br /><br /> <br /> <br /><br />解决办法(任选其一)<br />1. 忽略这两个错误<br />2. 重命名注册表项 “HKEY_LOCAL_MACHINE/Softw

2350

【日常笔记】解决报错 OSError: libcublas.so.11: cannot open shared object file: No such file or directory

解决报错 OSError: libcublas.so.11: cannot open shared object file: No such file or directory

user15632的博客 660

安装torch-geometric报错 libcusparse.so.11: cannot open shared object file: No such file or dir

直接上操作,首先直接查找当前文件是否存在?能行的话就这一步,不行的话,自求多福。如果存在,那么恭喜应该问题不大。下一步,直接一步到位。

weixin_47168353的博客 256

C# 11 中的 file local type

C# 11 中的 file local typeIntro在之前的版本中,我们想要一个类型只在当前的类型中生效,通常我们会在一个类的内部声明一个 private 的类型以此来控制这个类型的访问权限,在 C# 11 中引入了一个 file local type,仅在声明类型的这个文件中可以访问,这样我们就可以不用声明成一个私有类型了,下面就来看个示例吧SampleC# 11 新增加了一个 file ...

dotNET跨平台 205

oracle修改db_recocery_11G RAC修改db_recovery_file_dest 痛苦经历(转)

最近几天回东北老家处理些事情,在老家的时候公司正好有一个项目要上线,让我导入数据和数据库备份。原以为数据导入和做RMAN的7策略备份会很快。真是应了那句话了:“事情总是向最坏的方向发展”。一、讲一下坏境:操作系统:#lsb_release-aLSB Version::core-3.1-amd64:core-3.1-ia32:core-3.1-noarch:graphics-3.1-amd64:gr...

weixin_39628498的博客 556
上一篇: 10_Stream
下一篇: 12_IO流_字节流
code_stream
博客等级 码龄4年 1238粉丝 169原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值