首页 > 编程语言 >Java拾贝第十一天——IO之File类

Java拾贝第十一天——IO之File类

时间:2023-10-25 12:44:06浏览次数:42  
标签:第十一天 Java File separator file static public String

Java拾贝不建议作为0基础学习,都是本人想到什么写什么

Java中提供了IO以操控计算机中的文件

File类

在整个IO包中,与文件相关的类就是File类。使用它可以进行创建或删除文件

因为File类是个普通类,初始化它需要调用其有参构造

 public File(String pathname){//传参为文件路径
 }

使用构造方法初始化File类后,还需要使用其定义的若干方法。File类常用方法如下:

方法或属性 方法类型 描述
public static final String separator 常量 路径的分隔符
public boolean createNewFile() throws IOException 普通方法 创建新文件
public boolean delete() 普通方法 删除文件
public boolean exists() 普通方法 返回文件是否存在
public boolean isDirectory() 普通方法 返回File是否是目录
public boolean isFile() 普通方法 返回File是否是一个文件
public long length() 普通方法 返回文件大小(单位字节)
public boolean mkdir() 普通方法 创建目录
public String[] list() 普通方法 返回指定路径的所有文件名
public String[] listFiles() 普通方法 返回指定路径的所有文件名(附带路径)

createNewFile()

File类初始化后可以调用其创建一个新文件。该方法会抛出异常
栗子:

    public static void main(String[] args) {
        File file = new File("D:\\IOtest\\text.txt");
		//D盘 IOtest文件夹(也称目录) text.txt文件
        try {
            file.createNewFile();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

使用转义符\\以实现一个\的意思

不同的操作系统其路径的目录分隔符也会不同

Windows使用反斜杠 \ 表示目录的分隔符
Linux使用正斜杠 / 表示目录的分隔符

因为Java可以运行在多平台上,所以分隔符并不固定,而是使用Java提供的常量。

public static final String separator

访问方式为:File.separator

至此,修改栗子如下:

    public static void main(String[] args) {
        File file = new File("D:" + File.separator + "IOtest" + File.separator + "text.txt");
		//每一个常量都代表一个分隔符
        try {
            file.createNewFile();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

开发时,可能使用的是Windows系统,而部署项目可能在其他的系统,建议分隔符一定使用File.separator

delete()

删除指定路径的文件
栗子:

    public static void main(String[] args) {
        File file = new File("D:" + File.separator + "IOtest" + File.separator + "text.txt");
        file.delete();
    }

exists()

建议对文件进行操作时优先判断文件是否存在。
栗子:

    public static void main(String[] args) {
        File file = new File("D:" + File.separator + "IOtest" + File.separator + "text.txt");
        if (file.exists()) {
            file.delete();//文件存在则删除
        }
    }

mkdir()

创建文件夹
栗子:

    public static void main(String[] args) {
        File file = new File("D:" + File.separator + "IOtest2";
        file.mkdir();
    }

若文件夹不存在无法直接创建新文件。

栗子:

    public static void main(String[] args) {
        File file = new File("D:" + File.separator + "IOtest3" + File.separator + "text.txt");
        try {
            file.createNewFile();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

程序运行结果:

java.io.IOException: 系统找不到指定的路径。
	at java.io.WinNTFileSystem.createFileExclusively(Native Method)
	at java.io.File.createNewFile(File.java:1023)
	at moudle2.Test11.main(Test11.java:10)

isDirectory()

判断File是否是一个目录(也称文件夹)
栗子:

    public static void main(String[] args) {
        File file = new File("D:" + File.separator + "IOtest2";
        file.mkdir();
        file.isDirectory();//T
    }

isFile()

判断File是否是一个文件
栗子:

    public static void main(String[] args) {
        File file = new File("D:" + File.separator + "IOtest" + File.separator + "text.txt");
        try {
            file.createNewFile();
        } catch (IOException e) {
            e.printStackTrace();
        }
        file.isFile();//T
    }

length()

返回文件大小,以字节为单位。

单位换算:

8b=1B		1位=1字节		小b是比特(bit) 大B是字节(Byte)
1024B=1KB
1024KB=1MB
1024MB=1GB
1024GB=1TB

栗子:

    public static void main(String[] args) {
        File file = new File("D:" + File.separator + "IOtest" + File.separator + "text.txt");
        System.out.println(file.length());
    }

程序运行结果:

10
//我打开文件随便敲了一些字母上去

标签:第十一天,Java,File,separator,file,static,public,String
From: https://www.cnblogs.com/Ocraft/p/17786874.html

相关文章

  • 华为云耀云服务器L实例:初级篇-java环境配置
     华为云耀云服务器L实例是一款可快速部署且易于运维的轻量级云服务器,专为中小企业和入门级开发者打造。它不仅拥有华为云擎天架构的强大性能,还具有多项用户体验优化方案,让用户轻松上手,享受简单上云的乐趣。本产品网址为:https://www.huaweicloud.com/product/hecs-light.html......
  • java spring,springmvc,spring boot,spring data,RESTful api设计风格,HTTP协议的四种传
    一.基本技术1.Springmvc=手动接电线(配置xml),提供了一种友好的方式来开发Web应用程序。通过使用诸如DispatcherServlet,ModelAndView和ViewResolver,可以轻松开发Web应用程序。2.SpringBoot=标准插座(第3方开源类库想接入,就按照标准做一个starter的适配),实现了免xml配置和提供......
  • Java类加载机制详解 | 京东云技术团队
    一.类加载器及双亲委派机制类加载器加载类备注启动类加载器(BootstrapClassLoader)JAVA_HOME/jre/lib无上级,无法直接访问由jvm加载拓展类加载器(ExtensionClassLoader)JAVA_HOME/jre/lib/ext父加载器为Bootstrap,显示为null。该类由Bootstrap加载应用类加载器(ApplicationClassLoa......
  • bilibili B站:makefile 编译Linux C/C++项目快速入门
    视频摘自:https://www.bilibili.com/video/BV1vg41177zT    ......
  • bilibili B站:从零开始学Makefile - 部分截图
    视频摘自B站:https://www.bilibili.com/video/BV1Bv4y1J7QT笔记摘自:https://gitee.com/yanmu_ym/cpp    ......
  • bilibili B站:从零开始学Makefile - 原作者笔记Markdown风格
    视频摘自B站:https://www.bilibili.com/video/BV1Bv4y1J7QT笔记摘自:https://gitee.com/yanmu_ym/cpp#学习环境搭建###Linux(以Ubuntu为例)```shellsudoaptinstallgccg++make```###Windows学习与演示过程以Windows为主,Windows上装MinGW环境,MinGW官网:https://www.min......
  • Java 流程控制 01~12
    Java流程控制01~121.Scanner对象实现获取用户输入​ 1.1.scanner基本用法Scannerscanner=newScanner(System.in);//接受用户inputif(scanner.hasNextLine()){//判断用户是否输入Stringstr=scanner.nextLine();//获取用户输入System.out.println("......
  • Java图片压缩遇到 "No suitable ImageReader found for source data."
     问题:使用压缩工具的时候突然遇到图片压缩失败的情况。此时检查一下要上传的图片是否正常。处理方式:检查图片数据是否异常,一个图片五六兆。图片虽然是JPG结尾的,但是不在“ ImageIO”类的支持范围内。例如 WebP图片虽然可以以JPG格式结尾,但是 “ ImageIO”类......
  • 「Java开发指南」如何在MyEclipse中使用JPA和Spring管理事务?(二)
    本教程中介绍一些基于JPA/spring的特性,重点介绍JPA-Spring集成以及如何利用这些功能。您将学习如何:为JPA和Spring设置一个项目逆向工程数据库表来生成实体实现创建、检索、编辑和删除功能启用容器管理的事务在上文中,我们为大家介绍了如何用JPA和SpringFacets创建一个Java......
  • Jenkins配置java和vue构建环境
    jdk,maven,node,localtime等配置可通过挂载的方式进行配置前提条件是虚拟机中已配置好jdk,maven,node等环境注意自己虚拟机相关环境配置的路径以下样例为我自己的虚拟机中的配置路径-v宿主机(虚拟机)路径:容器路径dockerrun--namejenkins-p28081:8080-p50000:50000-v/v......