栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java中FileIO使用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java中FileIO使用

文章目录
  • 前言
  • 一、File类
    • 1File的作用
    • 2、File类使用
      • 2.1、常用构造器
      • 2.2、常用方法
        • 2.2.1、File类的创建、删除功能
        • 2.2.2、File类的判断功能
        • 2.2.3、File类的获取功能


前言

提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

一、File类 1File的作用

1、java.util.File类 : 文件和文件目录路径的抽象表示形式,与平台无关。其实现了 Serializable , Comparable两大接口,其对象可序列化和比较。

2、File 类能新建、删除、重命名文件和目录,但是File 不能访问文件内容本身。如果需要访问文件内容本身,需要使用 输入输出流

3、想要在java程序中表示一个真实存在的文件或目录,那么必须有一个File 对象,但是 java 程序 中的一个 File 对象,可能没有真实存在的文件或目录

4、File对象可以作为参数传递给流的构造器

由源码可知
public class File implements Serializable, Comparable{

}
2、File类使用 2.1、常用构造器
  • public File (String pathname) :以pathname为路径创建File对象,可以是相对路径和绝对路径
  • public File (String parent, String child) : 以parent为路径,child为子路径创建File对象
  • public File (File parent , String child) : 根据一个父File对象路径和文件创建一个新的File对象

文件路径:pathname

pathname:通过这个路径指定唯一的一个文件(可能是一个普通文件,也可能是一个目录文件)
例:D:documentcode , 是系统中用来描述文件位置的一种方式,通过这个路径就可以确定这个文件。

文件路径中的 就是在分割不同的
在windows 和 DOS 中 默认是使用 (反斜杠) 作为目录的分割符,也可以使用 / (斜杠) 来进行分割,(使用 进行目录层级的分割,要用双 ,否则会被识别为转义字符,例如 :D:\document\code\test.txt, 使用**/** 则不需要 )
在 Linux 或 MAc 中使用 / 作用类路径之间的分隔符

代码示例:

1、使用构造器 public File (String pathname)创建对象

以绝对路径的方式的方式,新建一个file对象
File file1 = new File("D:documentcodetest.txt");

以相对路径的方式方式创建一个File 对象,在IEDA中相对的路径的路径是创建项目的根路径
File file1 = new File("test.txt");
---------------------------------------------------------------------------------------------

2、使用public File (String parent, String child) 构造器创建对象
File file = new File("D:\document\code","test2.txt");

---------------------------------------------------------------------------------------------
3、使用 public File (File parent , String child) 构造器创建对象

File file = new File(new File("D:/document/code"),"test.txt");
2.2、常用方法 2.2.1、File类的创建、删除功能
方法描述
public boolean createNewFile()创建文件。若文件存在,则不创建,返回false
public boolean mkdir()创建文件目录,如果此文件目录存在,就不创建。如果此文件的上层目录不存在也不创建
public boolean mkdirs()创建文件目录。如果上层文件目录不存在,一并创建
public boolean delete()删除文件或者文件夹 (注 : java中的删除不走回收站,要删除一个文件目录,请注意该文件目录内不能包含文件或者文件目录)

代码示例:文件的创建与删除,要求上层目录存在

在D盘下创建名为test.txt的文件,如果不存在则创建文件,如果存在,则删除文件
public void test1() throws IOException {
    File file = new File("D:/document/test.txt");
     System.out.println(file.exists());

     if (!file.exists()){
         file.createNewFile();
     }else if (file.exists()){
         file.delete();
     }
}

代码示例:创建文件目录(上层目录存在)

上层目录document 存在,文件目录创建成功
public void test2(){
 	File file = new File("D:/document/test2");
    boolean mkdir = file.mkdir();
    
    if (mkdir){
        System.out.println("文件目录创建成功!");
    }else{
        System.out.println("文件目录创建失败!");
    }
}

如果上层目录hello文件夹不存在,文件目录就会创建失败

 public void test3(){
   File file = new File("D:/hello/test");
    
    boolean mkdir = file.mkdir();

    if (mkdir){
        System.out.println("文件目录创建成功!");
    }else{
        System.out.println("文件目录创建失败!");
    }
}

如果上层目录不存在,也想创建文件目录,就需要使用mkdirs,文件目录创建成功!

public void test3(){
  File file = new File("D:/hello/test");

   boolean mkdir = file.mkdirs();

   if (mkdir){
       System.out.println("文件目录创建成功!");
   }else{
       System.out.println("文件目录创建失败!");
   }
}

2.2.2、File类的判断功能
方法描述
public boolean isDirector()判断是否是文件目录
public boolean isFile()判断是否是文件
public boolean exists ()判断是否存在
public boolean canRead()判断是否可读
public boolean canWrite()判断是否可写
public boolean isHidden()判断是否隐藏

代码示例:在上面的示例中,在D盘下面创建了一个名为test的文件,使用这个文件来进行测试

public void test4(){
    File file = new File("D:/test.txt");

    System.out.println("是否是文件目录:"+file.isDirectory());
    System.out.println("是否是文件:"+file.isFile());
    System.out.println("文件是否存在:"+file.exists());
    System.out.println("文件是否可读:"+file.canRead());
    System.out.println("文件是否可写:"+file.canWrite());
    System.out.println("文件是否隐藏:"+file.isHidden());
}

2.2.3、File类的获取功能
方法描述
public String getAbsolutePath()获取绝对路径
public String getPath()获取路径
public String getName()获取文件或文件夹的名称
public String getParent()获取上层目录路径。若无,返回null
public long length()获取文件长度 (字节数)。不能获取目录的长度
public long lastModified()获取最后一次的修改时间,毫秒值
public String[ ] list()获取指定目录下的所有文件或文件目录中的名称数组
public File[ ] listFiles()获取指定目录下的所有文件或者文件目录中的 File 数组

代码示例:以D:/document/test.txt 文件为例

public void test5(){
    File file = new File("D:/document/test.txt");

    System.out.println("getName() : 获取文件的名称 : " + file.getParent());
    System.out.println("getPath() : 获取File 对象中封装的路径 : " + file.getParent());
    System.out.println("getAbsolutePath() : 获取绝对路径 : " + file.getAbsolutePath());
    System.out.println("getAbsoluteFile() : 获取文件绝对路径 : " + file.getAbsoluteFile());
    System.out.println("getParent() : 获取当前路径的父级路径 : " + file.getParent());
    System.out.println("lastModify() : 文件最后一次修改的时间 :  " + file.lastModified());
    System.out.println("length() : 文件的长度 :  " + file.length());
}

方法描述
String [ ] list()以字符串的形式返回当前路径下所有的文件和文件夹的名称
File [ ] listFile()以File 对象的形式返回当前路径下的所有文件和文件夹名称
Static File [ ] listRoots()获取计算机中的所有的盘符
public void test6() {
    File file = new File("D:/document");

    System.out.println("以字符串的形式返回当前路径下所有的文件和文件夹名称:");
    String[] fileList = file.list();
    for (String str : fileList) {
        System.out.println(str);
    }

    System.out.println("以File对象的形式获取当前路径下所有文件和文件夹名称:");
    File[] files = file.listFiles();

    for (File fil : files) {
        System.out.println(fil);
    }

    System.out.println("获取计算机中所有的盘符");
    File[] files1 = File.listRoots();
    for (File fil1 : files1){
        System.out.println(fil1);
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/343395.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号