JavaIO编程——文件常用操作

创建文件操作

JavaIO编程中,有以下三种创建文件的方式,分别是:

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

先看下面的这段程序,分别通过creat01,creat02,creat03三种方法来演示文件的创建:

package IOstream;

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

@SuppressWarnings({"all"})
/**
 * @Author Blueshadow
 * @Date 2021/9/7 20:36
 * @Version 1.0
 * 创建文件
 */
public class filesCreat {
    public static void main(String[] args) {
        filesCreat filesCreat = new filesCreat();
        filesCreat.creat01();
        filesCreat.creat02();
        filesCreat.creat03();
    }

    //方式一:根据文件路径来创建文件
    public void creat01(){
        String path = "E:\\学习资料/编程/folder/news1.txt";//根据路径
        File file1 = new File(path);//还没有创建file对象
        try {
            file1.createNewFile();
            System.out.println("文件创建成功");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    //方式二:根据父目录文件+子路径构建
    public void creat02(){
        File pathName = new File("E:\\学习资料/编程/folder");//父目录文件,即文件目录
        String fileName = "news2.txt";//子路径,即文件名
        File file1 = new File(pathName,fileName);
        try {
            file1.createNewFile();
            System.out.println("文件创建成功");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    //方式三:根据父目录+子路径构建
    public void creat03(){
        String parentPath = "E:\\学习资料/编程/folder";//父目录
        String filePath = "/folder01/news1.txt";//文件路径
        File file = new File(parentPath,filePath);//创建文件对象
        try {
            file.createNewFile();
            System.out.println("文件创建成功");
        } catch (IOException e) {
        }
    }
}

  • creat01:根据文件路径来创建文件。
public void creat01(){
        String path = "E:\\学习资料/编程/folder/news1.txt";//定义了一个文件的路径
        File file1 = new File(path);//创建了一个File对象
        try {
            file1.createNewFile();//使用对象的createNewFile方法,根据定义好的路径去创建文件
            System.out.println("文件创建成功");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
  • creat02:根据父目录文件+子路径构建
public void creat02(){
        File pathName = new File("E:\\学习资料/编程/folder");//父目录文件,即要创建文件所在的目录
        String fileName = "news2.txt";//子路径,即文件名
        File file1 = new File(pathName,fileName);//创建File对象
        try {
            file1.createNewFile();
            System.out.println("文件创建成功");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
  • creat03:根据父目录文件+子路径构建。
public void creat03(){
        String parentPath = "E:\\学习资料/编程/folder";//父目录
        String filePath = "/folder01/news1.txt";//文件路径
        File file = new File(parentPath,filePath);//创建文件对象
        try {
            file.createNewFile();
            System.out.println("文件创建成功");
        } catch (IOException e) {
        }
    }

要使用以上方法去创建文件,只需要在主程序中去新建类对象,然后调用对应的方法即可。

filesCreat filesCreat = new filesCreat();
        filesCreat.creat01();
        filesCreat.creat02();
        filesCreat.creat03();

获取文件的相关信息

在JavaIO编程中,最常见的获取文件相关信息的方法有很多种,以下面程序为例:

package IOstream;

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

@SuppressWarnings({"all"})
/**
 * @Author Blueshadow
 * @Date 2021/7/28 9:02
 * @Version 1.0
 */
public class filesCreat {
    public static void main(String[] args) {
        filesCreat files = new filesCreat();
        files.info();
    }
    public void info(){
        //创建文件路径
        File file = new File("F:\\test/news.txt");
        System.out.println(file.getName());//文件名称
        System.out.println(file.length());//文件大小(按照字节来计算)
        System.out.println(file.exists());//判断文件是否存在
        System.out.println(file.getAbsolutePath());//文件绝对路径
        System.out.println(file.getParent());//文件父级目录
        System.out.println(file.isFile());//判断是否是一个文件
        System.out.println(file.isDirectory());//判断是否是一个目录
    }
}

目录操作和文件删除

通过下面的程序来演示最常见的 目录操作文件删除

package IOstream;

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

@SuppressWarnings({"all"})
/**
 * @Author Blueshadow
 * @Date 2021/7/28 9:02
 * @Version 1.0
 */
public class filesCreat {
    public static void main(String[] args) {
        filesCreat files = new filesCreat();
        files.m1();
        files.m2();

    }
    public void m1(){//判断文件是否存在,若是存在,则删除
        String filePath = "F:\\test/news.txt";
        File file = new File(filePath);
        if (file.exists()){
            System.out.println("文件存在,进行删除");
            if (file.delete()){
                System.out.println("删除成功!");
            }else {
                System.out.println("删除失败!");
            }
        }else {
            System.out.println("文件不存在");
        }

    }

    public void m2(){//判断目录是否存在,若是存在,则删除
        String filePath = "F:\\test";
        File file = new File(filePath);
        if (file.exists()){
            System.out.println("该目录存在,进行删除");
            if (file.delete()){
                System.out.println("删除成功!");
            }else {
                System.out.println("删除失败!");
            }
        }else {
            System.out.println("目录不存在");
        }

    }
}

Original: https://www.cnblogs.com/nanfengashuai/p/15240275.html
Author: Blueshadow
Title: JavaIO编程——文件常用操作

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/588349/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Mybatis的简单注解

    Mybatis注解开发 注解开发可以减少编写Mapper映射文件,常用注解如下: @Insert:新增 @Update:更新 @Delete:删除 @Select:查询 @Resu…

    Java 2023年6月5日
    081
  • HBase为什么查询快

    HBase为什么可以实现毫秒级查询? 大数据量的快速查询 HBase的region经过负载均衡,region相对均匀,每次只需要通过zk找到meta表,进而连接到所需的region…

    Java 2023年6月8日
    0104
  • Java(11)自定义类

    之前的例子中,我们已经编写了一些简单的类。但是,那些类都只包含一个简单的main方法。现在来学习如何编写复杂应用程序所需要的那种主力类。通常这些类没有main方法,却有自己的实例字…

    Java 2023年6月9日
    099
  • 关于img 403 forbidden的一些思考

    网页中经常需要显示图片给用户看,对网站本身来说有的图片是从本地图片服务器来的,但是一旦数量多了以后,磁盘空间又是一个问题。 所以有时就希望显示其他网站的Image,直接把其他网站的…

    Java 2023年6月5日
    069
  • HTML5笔记:跨域通讯、多线程、本地存储和多图片上传技术

    最近做项目在前端我使用了很多新技术,这些技术有bootstrap、angularjs,不过最让我兴奋的还是使用了HTML5的技术,今天我想总结一些HTML5的技术,好记性不如烂笔头…

    Java 2023年5月29日
    0113
  • 突破

    象棋的目标是赢棋,而不是谋子。突破了「谋子」这一认知的棋手,招式中就多了欲擒故纵。甚至棋手心里都没想着招式,只是在朝着目标布局。 象棋的目标是赢棋,而不是谋子。突破了「谋子」这一认…

    Java 2023年6月16日
    092
  • 【设计模式】Java设计模式-命令模式

    Java设计模式 – 命令模式 😄生命不息,写作不止🔥 继续踏上学习之路,学之分享笔记👊 总有一天我也能像各位大佬一样🏆 一个有梦有戏的人 @怒放吧德德🌝分享学习心得,…

    Java 2023年6月16日
    085
  • 让SpringBoot也用上Fluent Validator

    前言 在使用SpringBoot的时候经常需要对客户端传入的参数进行合法性的校验,校验的方法基本上都是使用SpringBoot提供的注解,有时候遇上注解不能满足需求的时候还需要在业…

    Java 2023年6月15日
    088
  • php部署到nginx时遇到的问题

    1、权限问题 nginx用户、php用户最好不要用默认的:nobody,因为权限不够。 可以创建新的用户和用户组: 然后修改:nginx.conf 修改:php-fpm.d/www…

    Java 2023年5月30日
    084
  • 单例模式只会懒汉饿汉?读完本篇让你面试疯狂加分

    前言 说到设计模式,面试排在第一位的十有八九是单例模式,这一定是大部分人从入门到面试工作都避不开的基础知识。但单例模式不仅有懒汉模式和饿汉模式两种写法,往往我们掌握的都是最基础的写…

    Java 2023年6月9日
    090
  • [Java SE]反射之Class

    1 获取 指定Class 的类名 package cn.johnnyzen.bd.gatewayservice; import org.junit.Test; @Test publ…

    Java 2023年5月29日
    086
  • 《软技能——代码之外的生存指南》十步学习法

    1.了解全局 2.确定范围 3.定义目标 4.寻找资源 5.创建学习计划 6.筛选资源 7.开始学习,浅尝辄止 8.动手操作,边玩边学 9.全面掌握,学以致用 10.乐为人师,融会…

    Java 2023年6月7日
    088
  • Spring Boot 项目启动错误 提示 java.lang.ClassNotFoundException org.apache.log4j.Logger

    问题描述 spring boot项目升级到2.x,启动时出现错误提示:java.lang.ClassNotFoundException: org.apache.log4j.Logg…

    Java 2023年6月5日
    0103
  • SSM整合_年轻人的第一个增删改查_基础环境搭建

    Spring、SpringMVC、MyBatis整合增删改查 写在前面 SSM整合_年轻人的第一个增删改查_基础环境搭建SSM整合_年轻人的第一个增删改查_查找SSM整合_年轻人的…

    Java 2023年6月5日
    0168
  • 并发编程系列之如何正确使用线程池?

    并发编程系列博客 原文链接 并发编程系列之如何正确使用线程池?在上一章节的学习中,我们掌握了线程的基本知识,接着本博客会继续学习多线程中的线程池知识 1、线程是不是越多越好? 在学…

    Java 2023年5月30日
    0101
  • Java面试题(八)–Spring

    1 基础知识 1、说说你对Spring的理解? 1、Spring是一个开源框架,主要是为简化企业级应用开发而生。可以实现EJB可以实现的功能,Spring是一个IOC和AOP容器框…

    Java 2023年6月9日
    094
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球