Java文件操作【教你用Java运行微信】

news2025/1/15 23:23:46

java

文章目录

  • 01 创建文件
  • 02 获取文件信息
  • 03 目录操作和文件删除
  • 04 运行可执行文件

01 创建文件

  • new File(String pathname) //根据路径创建一个File对象;
  • new File(File parent,String child) //根据父目录文件+子路径创建;
  • new File(String parent,String child) //根据父目录+子路径构建
  • creatNewFile 创建新文件

示例:用三种不同的方式创建文件 news1.txt 、news2.txt 、news3.txt

import org.junit.Test;

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

public class FileCreate {
    public static void main(String[] args) {}

    //方式1 new File(String pathname) 根据路径创建一个File对象
    @Test
    public void create01(){
        String filePath = "d:\\news01.txt";
        File file = new File(filePath);
        //需要捕获IO异常
        try {
            file.createNewFile();
            System.out.println("方式一:文件创建成功! ");
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }

    //方式2 new File(File parent,String child) 根据父目录文件+子路径构建
    @Test
    public void create02(){
        File parentFile = new File("d:\\");
        String fileName = "news02.txt";
        //这里的File对象,在Java中只是一个对象
        //只有执行了creatNewFile()方法,才会真正的在磁盘中创建该文件
        File file = new File(parentFile,fileName);
        //需要捕获IO异常
        try {
            file.createNewFile();
            System.out.println("方式二:文件创建成功~");
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }

    //方式3 new File(String parent,String child) 根据父目录+子路径构建
    @Test
    public void creat03(){
        String parentPath = "d:\\";
        String fileName = "news03.txt";//这里还可以继续写路径,但由于只有一层所以为文件名
        File file = new File(parentPath, fileName);

        try {
            file.createNewFile();
            System.out.println("方式三:文件创建成功*");
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
}

02 获取文件信息

经常使用File类的下列方法获取文件本身的一些信息:

public String getName() //获取文件名字

public boolean canRead() //判断文件是否可读

public boolean canWrite() //判断文件是否可写

public boolean exits() //判断文件是否存在

public long length() //获取文件的长度(单位是字节)

public String getAbsolutePath() //获取文件的绝对路径

public String getParent() //获取文件的父目录

public boolean isFile() //判断文件是否是一个普通文件,而不是目录

public boolean isDirectory() //判断文件是否是一个目录

public boolean isHidden() //判断文件是否是隐藏文件

public long lastModified() //获取文件最后修改时间(返回的是1970年午夜至文件最后修改时刻的毫秒数)

@Test注解 可以测试运行方法,不用通过main方法调用
(需要导入包:import org.junit.Test;

//获取文件的信息
    @Test
    public void fileInformation(){
        //先创建对象
        File file = new File("d:\\news01.txt");
        //调用相应的方法得到对应信息
        System.out.println("文件名字: "+file.getName());
        System.out.println("文件的绝对路径: "+file.getAbsolutePath());
        System.out.println("文件的父级目录: "+file.getParent());
        System.out.println("文件大小(字节): "+file.length());//先在文件中写入一个HelloWorld
        System.out.println("文件是否存在: "+file.exists());
        System.out.println("是否是一个目录: "+file.isDirectory());
    }

03 目录操作和文件删除

  • mkdir 创建一级目录
  • mkdirs 创建多级目录
  • delete 删除空目录或文件

判断d:\news02.txt是否存在,存在就删除

//判断d:\\news02.txt是否存在,存在就删除
@Test
public void m1(){
    String filePath = "d:\\news02.txt";
    File file = new File(filePath);
    if(file.exists()){
        if(file.delete()){
            System.out.println(filePath+" 删除成功");
        }else{
            System.out.println(filePath+" 删除失败");
        }
    }
}

判断目录D:\demo是否存在,如果存在就删除,否则提示不存在

//判断目录D:\\demo是否存在,如果存在就删除,否则提示不存在
//Java编程中,目录也被当做文件(特殊的文件)
@Test
public void m2(){
    String filePath = "D:\\demo00";
    File file = new File(filePath);
    file.mkdir();//创建目录
    if(file.exists()){
        if(file.delete()){
            System.out.println(filePath+"目录删除成功");
        }else{
            System.out.println(filePath+"目录删除失败");
        }
    }else{
        System.out.println("该目录不存在");
    }
}

判断目录D:\demo\a\b\c是否存在,如果不存在就创建

//判断目录D:\\demo\\a\\b\\c是否存在,如果不存在就创建
@Test
public void m3(){
    String directoryPath = "D:\\demo\\a\\b\\c";
    File file = new File(directoryPath);
    if(file.exists()){
        System.out.println(directoryPath+"存在");
    }else{
        if (file.mkdirs()) {//多级目录要用mkdirs 一级用mkdir
            System.out.println(directoryPath+"创建成功");
        }else {
            System.out.println(directoryPath + "创建失败");
        }
    }
}
  • 列出目录中的文件
public String[] list();//用字符串形式返回目录下的全部文件

public File[] listFiles();//用File对象形式返回目录下的全部文件

public String[] list(FilenameFilter obj);//字符串形式返回目录下的指定类型的所有文件

public File[] listFiles(FilenameFilter obj);//File对象形式返回目录下的指定类型所有文件

创建目录及文件,然后输出

//创建目录及文件,然后输出
@Test
public void list(){
    String path = "d:\\Test";
    String fileName1 = "d:\\Test\\test01.doc";
    String fileName2 = "d:\\Test\\test02.doc";
    String fileName3 = "d:\\Test\\test03.doc";
    File filepath = new File(path);
    File file1 = new File(fileName1);
    File file2 = new File(fileName2);
    File file3 = new File(fileName3);
    if (filepath.mkdir()) {
        System.out.println("目录创建成功");
    }
    try {
        file1.createNewFile();
        file2.createNewFile();
        file3.createNewFile();
        System.out.println("文件创建成功");
    }catch(IOException e){
        throw new RuntimeException(e);
    }
    for (String str:filepath.list()
         ) {
        System.out.println(str);
    }
}

04 运行可执行文件

        当要执行一个本地机上可执行的文件时,可以使用 java.lang 包中的 Runtime 类

打开电脑上的微信:

@Test
    public void run(){
        File file = new File("D:\\WeChat\\WeChat.exe");//WeChat.exe的存储路径
        //1. 先申明对象
        Runtime ec;
        //2. 使用该类的getRuntime()静态方法创建对象
        ec = Runtime.getRuntime();
        //3.调用exec(String command)方法打开一个可执行文件或者执行一个操作
        try {
            ec.exec(file.getAbsolutePath());
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }

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

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

相关文章

使用mqtt.fx向EMQX服务器发送消息

摘要:本文介绍如何使用mqtt.fx向mqtt服务器(EMQX)发送消息。顺便介绍一下labview与EMQX连接成功的实现效果。 上一篇文章介绍了如何在ubuntu下安装emqx服务器,以及如何使用mqtt.fx订阅服务器上的一个主题。 ubuntu系统下搭建本地…

为什么ArcGIS添加的TIFF栅格数据是一片纯色

下面来介绍一下今天的正式内容:为什么你添加的tiff栅格数据明明有数据,为什么却在GIS中显示一片颜色。 即使你去拉伸后 他还是显示这样? 那如何才能让他正常显示呢? 逻辑其实是简单的。我们检查数据会发现,这份数据等…

Springboot集成HBase使用案例

一、HBase部署安装 1.HBase下载地址:Apache HBase – Apache HBase Downloads 2.解压启动(进入压缩包bin目录),本次演示的是macOS系统启动演示(windows系统启动命令:./start-hbase.cmd) ./start-hbase.sh 3. 浏览器访问http://IP:16010/master-status出现如下页面表示启动成功…

线程基础知识复习

线程基础知识复习 并发相关Java包 涉及到的包内容 java.util.concurrentjava.util.concurrent.atomicjava.util.concurrent.locks 并发始祖 并发始祖Doug Lea start线程解读 初始程序 public static void main(String[] args) {Thread t1 new Thread(() ->{},"t…

涛涛的Linux学习笔记

前言: 因为自己偏向Java后端开发,接触linux有一段时间了,但从来没系统的学过,用啥学啥,所以一直感觉体系不全,现在补补日常能用到的。 一、Linux的定位 二、Linux系统的目录结构 目录结构描述/根目录&#…

【云原生】Docker的初步认识,安装与基本操作

内容预知 1.docker的相关知识 1.1 docker的概念 1.2 docker三个重要概念 (1)image镜像 (2)container容器 (3)repostory仓库 1.3 docker的主要用途 1.4 docker与虚拟机的区别 namesapce&#xff…

STM32F334timer6-7

STM32F334timer6-7概况预分频器描述计数模式时钟概况 基本计时器(TIM6/TIM7)功能包括: •16位自动重新加载递增计数器 •16位可编程预分频器,用于将计数器时钟频率除以1和65535之间的任何因子(也可“动态”&#xff0…

立方体贴图shade计算

正常的平面贴图是根据mesh顶点找到对应的uv坐标,然后根据重心坐标插值计算三角面内每个点的uv坐标值。最后根据uv坐标值查找平面贴图上的颜色值。 立方体贴图的6个面分别为6张图片,我们怎么根据mesh面上的坐标值来计算对应平面上的uv坐标值。 基本算法是…

【算法篇-数论】线性筛法(欧拉筛法)筛 n 以内的质数

筛质数1.线性筛法(欧拉筛法)介绍2.欧拉筛法代码以及分析3.总结本文参考自 B站董晓算法 1.线性筛法(欧拉筛法)介绍 我们的目标是筛出 2 ~ n 以内的质数 最最最暴力的方法就是一个数一个数判断是不是质数 但是这样的时间复杂度是非…

【Java第31期】:Spring中存储Bean的注解以及用法

作者:有只小猪飞走了 博客地址:https://blog.csdn.net/m0_62262008?typeblog 这期内容:揭开Bean存储的神秘面纱 文章目录前言一,Controller(控制存储)二,Service(服务存储&#xff…

过拟合问题(机器学习)

训练误差代表分类方法对于现有训练样本集的拟合程度 泛化误差代表此方法的泛化能力,即对于新的样本数据的分类能力如何 模型的训练误差比较高,则称此分类模型欠拟合 模型的训练误差低但是泛化误差比较高,则称此分类模型过拟合 对于欠拟合…

QGIS制作精美地图

QGIS制作精美地图 1.首先新建一个Print Layout,并为其命名(PS:如果创建完不小心删了,点右面的Layout Manager即可~ 2.在右侧空白处,设置页面大小(也可以在空白页面右键——属性) 3.点击Items——Add Map,然后在空白页面框画一个范围,这与ArcGIS pro的操作类似(PS:如…

【UML】类图Class Diagram

1、面向对象 面向对象分析:OOA(Object-Oriented Analysis) 面向对象设计:OOD(Object-Oriented design) 面向对象分析和面向对象设计的核心问题是怎么抽象对象。类图就是用来表示对象,可以表示…

JavaScript 基础1:变量与数据类型及其转换

JavaScript 基础1:变量与数据类型及其转换 Date: September 17, 2022 了解变量、数据类型、运算符等基础概念,能够实现数据类型的转换,结合四则运算体会如何编程。 体会现实世界中的事物与计算机的关系理解什么是数据并知道数据的分类理解变…

Path.Combine的坑

最近在写一个自动生成代码到指定文件夹的代码需要让玩家指定文件夹紧接着就遇到问题了 可以看到两个路径并没有合并。我查了一下,原来问题是出在总之就是有很多坑。不要用

【USB】macOS usb内核驱动开发入门

文章目录一、环境准备1、背景说明2、SIP是什么?为啥要关闭SI?P3、关闭SIP(intel处理器)4、样例代码下载二、编译运行三、参考资料一、环境准备 不想我啰哩啰嗦的直接跳到第3点开始执行!!! 1、…

维格云轮播组件入门教程

功能简介 维格云轮播组件是对内传达核心价值观、重要通知,对外宣传广告、推广信息的工具。 维格云轮播组件借助在图片中镶嵌链接,并将多张图片循环播放的方式,可让企业的信息更加突出、有效、快捷地传达。 设置步骤 功能入口 【选择任意应用】——【编辑门户】——【轮播…

基于Kubernetes与云原生的存储测试基准CNSBench

CNSBench A Cloud Native Storage Benchmark基础知识CNSBench的摘要与介绍Kubernetes BackgroundKubernetes的工作流程CNSBench提出的需求分析CNSBench设计与实现CNSBench的示意图CNSBench的基准自定义资源基准自定义资源定义基准自定义资源实例基准测试控制器性能测试与实验测…

gcc编译选项

gcc编译步骤 有下面一个源程序 main.c: #include "stdio.h"int main(void) {printf("Hello World !");return 0; }在使用gcc 将 源文件 main.c编译成 可执行目标程序 总共需要4步: 1、源文件 main.c 预处理后,生成mai…

OpenCV-Python小应用(四):红绿灯检测

OpenCV-Python小应用(四):红绿灯检测前言前提条件实验环境红绿灯检测参考文献前言 本文是个人使用OpenCV-Python的应用案例,由于水平有限,难免出现错漏,敬请批评改正。更多精彩内容,可点击进入 …