0
点赞
收藏
分享

微信扫一扫

Java之IO简述 第一篇——File类

青乌 2022-04-26 阅读 47
java

文章目录

前言

Java的核心库java.io提供了全面的IO接口。包括:文件读写、标准设备输出等。Java中IO是以流为基础进行输入输出的,所有数据被串行化写入输出流,或者从输入流读入。 I input O out
在这里插入图片描述

下面介绍IO下的重要类之一 File

File类

注意设计文件的读写删除,请大家谨慎测试,比如使用delete删除的文件是无法在回收站进行找回的

File表示文件,是java中文件和路径名的抽象表示

构造方法

1public File(String pathname)
通过将给定的路径名的字符串转换成一个抽象路径名创建一个新的 File实例

2public File(String parent,String child)
创建从父路径名的字符串和一个孩子的一个新的 File实例文件

3public File(File parent,String child)
创建从一个家长的抽象路径名和一个孩子的路径字符串的新 File实例。
    
23都是从上级目录下创建一个File类实例, 2中的上级目录类型为String,即代表绝对路径, 3的为File类型,即代表抽象路径

常用方法

createNewFile()
File file = new File("D://test.txt");
boolean newFile = file.createNewFile();
System.out.println(newFile ? "创建文件成功!":"创建文件失败!");

image-20220426174141288

image-20220426174342779

再次运行则失败,因为文件已经存在

image-20220426174319655

可能存在的异常

当读写路径为C盘下的时候,可能会出现Exception in thread “main” java.io.IOException。这个异常,是因为电脑管家或者安全卫士开起来保护,导致C盘拒绝访问,可以尝试使用管理员的身份去运行该文件或更换路径到D盘

image-20220426174855773

mkdir()
File file = new File("C://test.txt");
boolean newFile = file.mkdir();
System.out.println(newFile ? "创建文件夹成功!":"创建文件夹失败!");

image-20220426175803719

mkdirs()
File file = new File("C://1//2//3");
boolean newFile = file.mkdirs();
System.out.println(newFile ? "创建文件夹成功!":"创建文件夹失败!");

image-20220426175952954

delete()
File file = new File("D://test.txt");
boolean res = file.delete();
System.out.println(res ? "删除文件成功!":"删除文件失败!");

image-20220426175132038

image-20220426175315210

getAbsoluteFile()
File file = new File("D://test.txt");
    boolean newFile = file.createNewFile();
    System.out.println(newFile ? "创建文件成功!":"创建文件失败!");
    File absoluteFile = file.getAbsoluteFile();
    System.out.println(file.equals(absoluteFile));
}

image-20220426180545835

getAbsolutePath()
File file = new File("D://test.txt");
boolean newFile = file.createNewFile();
System.out.println(file.getAbsolutePath());

image-20220426180846982

getPath()
//创建目录
File dir = new File("D://1//2//3");
dir.mkdir();
//创建文件
File file = new File(dir,"test123.txt");
System.out.println(file.getPath());

image-20220426183100650

getName()
File file = new File("D://test.txt");
boolean newFile = file.createNewFile();
System.out.println("name->"+file.getName());

image-20220426181412536

getParent()
File file = new File("D://test.txt");
boolean newFile = file.createNewFile();
System.out.println("父级目录是->"+file.getParent());

image-20220426181800659

getParentFile()
//创建目录
File dir = new File("D://mytestdir");
dir.mkdir();
//创建文件
File file = new File(dir,"test123.txt");
boolean newFile = file.createNewFile();
System.out.println("父级File是->"+file.getParentFile());

image-20220426182124672

isDirectory()
//创建目录
File dir = new File("D://1//2//3");
boolean mkdir = dir.mkdirs();
//创建文件
File file = new File(dir,"test123.txt");

System.out.println(dir.isDirectory() ? "dir是一个文件夹!":"dir不是一个文件夹!");
System.out.println(file.isDirectory() ? "file是一个文件夹!":"file不是一个文件夹!");

image-20220426183418766

isFile()
//创建目录
File dir = new File("D://1//2//3");
 dir.mkdirs();
//创建文件
File file = new File(dir,"test123.txt");
file.createNewFile();

System.out.println(dir.isFile() ? "dir是一个文件!":"dir不是一个文件!");
System.out.println(file.isFile() ? "file是一个文件!":"file不是一个文件!");

image-20220426184518250

length()
//创建目录
File dir = new File("D://1//2//3");
 dir.mkdirs();
//创建文件
File file = new File(dir,"test123.txt");
file.createNewFile();

System.out.println(file.length());

image-20220426184718167

list()
//创建目录
File dir = new File("D://1//2//3");
 dir.mkdirs();
//创建文件 位于同一级目录下
File file = new File(dir,"test1.txt");
File file1 = new File(dir,"test2.txt");
File file2 = new File(dir,"test3.txt");
File file3 = new File(dir,"test4.txt");
file.createNewFile();
file1.createNewFile();
file2.createNewFile();
file3.createNewFile();

String[] list = dir.list();
for (String s : list) {
    System.out.println(s);
}

image-20220426185406249

listFiles()
//创建目录
    File dir = new File("D://1//2//3");
     dir.mkdirs();
    //创建文件 位于同一级目录下
    File file = new File(dir,"test1.txt");
    File file1 = new File(dir,"test2.txt");
    File file2 = new File(dir,"test3.txt");
    File file3 = new File(dir,"test4.txt");
    file.createNewFile();
    file1.createNewFile();
    file2.createNewFile();
    file3.createNewFile();

    File[] files = dir.listFiles();
    for (File f : files) {
        System.out.println(f);
    }
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5ZvoJcfb-1650971575827)(C:/Users/尽欢/AppData/Roaming/Typora/typora-user-images/image-20220426185531039.png)]

renameTo(File dest)
File oldfile = new File("D:\\2\\old.txt");
File newfile = new File("D:\\1\\new.txt");
oldfile.renameTo(newfile);

image-20220426190128630

好啦,以上就是关于IO的第一节File类的简单介绍啦,作为IO环节中最常用的类之一,作为开发人员的我们必须熟练掌握此类,虽说API帮助文档的作用不可小觑,但是该过程势必会耗我们大量的开发时间,会减缓我们的工作效率,作为基础的一部分,还是希望大家能够在看完之后自己手动练习巩固

以上均为本人个人观点,借此分享,希望能和大家一起进步。如有不慎之处,劳请各位批评指正!鄙人将不胜感激并在第一时间进行修改!最后,如果觉得本文对你有用的话,就请给个三连吧!!您的支持就是我最大的创作动力!谢谢~

image-20220327095755218

举报

相关推荐

MyBatis篇---第一篇

爬虫第一篇

这是第一篇

openCV第一篇

第一篇博客

第一篇练习

寒假第一篇

Scala 第一篇 基础篇

0 条评论