在Java中,File是用来操作文件夹和文件的。

1、先来说说计算机中文件夹和文件的区别。

文件夹:

普通计算机文件夹是用来协助人们管理计算机文件的,每一个文件夹对应一块磁盘空间,它提供了指向对应空间的地址,它没有扩展名,也就不像文件的格式用扩展名来标识。是一种商业或事业等活动过程中为了纸质文件的存储、保护和规范管理而使用到的工具。

举例: 在计算机中,说文件夹"abc",其实不准确,一般都会讲"C盘中的有个abc文件夹"。 即,每一个文件夹会对应一块磁盘空间。

计算机文件:

计算机文件属于文件的一种,与普通文件载体不同,计算机文件是以计算机硬盘为载体存储在计算机上的信息集合。文件可以是文本文档、图片、程序等等。文件通常具有三个字母的文件扩展名,用于指定文件类型(例如,图片文件常常以JPEG格式保存并且文件扩展名为.jpg)
举例:电脑D盘上有个图片文件1.jpg。

小结:
计算机文件是存储在计算机硬盘上的。
文件夹是用来管理计算机文件的。

2、Java如何创建文件夹和文件。

2.1 创建文件

  1. /**
  2. * 创建文件
  3. *
  4. * @param pathName 指定文件路径。
  5. * @return true:创建文件成功。 false:创建文件失败。
  6. */
  7. public static boolean createFile(String pathName) {
  8. /*
  9. 指定路径,创建file对象。文件夹或者文件可以不存在。
  10. PS:
  11. 1)路径可能是个文件夹,可能是个文件。
  12. 2)文件创建的前提:
  13. 要么在磁盘根目录。
  14. 要么在已存在的文件夹中创建。如果文件夹不存在,会抛异常。
  15. */
  16. File file = new File(pathName);
  17. boolean newFile = false;
  18. try {
  19. newFile = file.createNewFile();
  20. } catch (IOException e) {
  21. e.printStackTrace();
  22. }
  23. return newFile;
  24. }

测试

  1. /**
  2. * 创建文件
  3. */
  4. @Test
  5. public void testCreateFile() throws IOException {
  6. boolean file1 = createFile("D:/yuank.jpg");
  7. // boolean file1 = createFile("D:/a/yuank.jpg");//如果a文件夹不存在,会抛异常
  8. System.out.println(file1);
  9. }

2.2 创建临时文件

  1. /**
  2. * 创建临时文件(每次都会不同) yuank27917289910742955258.jpg
  3. *
  4. * @param prefix 文件前缀
  5. * @param suffix 文件后缀
  6. * @param directory 文件目录。 如果为null,路径默认为电脑的临时目录:System.getProperty("java.io.tmpdir")
  7. * @return
  8. */
  9. public static File createTempFile(String prefix, String suffix, File directory) {
  10.  
  11. try {
  12. return File.createTempFile(prefix, suffix, directory);
  13. } catch (IOException e) {
  14. e.printStackTrace();
  15. return null;
  16. }
  17. }

测试

  1. /**
  2. * 创建临时文件
  3. */
  4. @Test
  5. public void testCreateTempFile() {
  6. File file = createTempFile("yuank", ".jpg", new File("D:/1"));
  7. String path = null;
  8. if (file != null) {
  9. path = file.getPath();
  10. }
  11. System.out.println("path = " + path);
  12. }

2.2 创建文件夹

创建一级目录

  1. /**
  2. * 创建一级目录
  3. *
  4. * @param pathName 路径名称
  5. * @return
  6. */
  7. public static boolean createOneDirectory(String pathName) {
  8. File file = new File(pathName);
  9. boolean mkdir = false;
  10. if (!file.exists()) {
  11. mkdir = file.mkdir();
  12. }
  13. return mkdir;
  14. }

测试

  1. //创建一级目录
  2. @Test
  3. public void testCreateDirectory() {
  4. boolean oneDirectory = createOneDirectory("d:/a/");
  5. System.out.println("oneDirectory = " + oneDirectory);//true,创建成功;false,目录已存在,创建失败。
  6. }

创建多级目录

  1. /**
  2. * 创建多级目录
  3. *
  4. * @param pathName 路径名称
  5. * @return
  6. */
  7. public static boolean createMoreDirectory(String pathName) {
  8. File file = new File(pathName);
  9. boolean mkdir = false;
  10. if (!file.exists()) {
  11. mkdir = file.mkdirs();
  12. }
  13. return mkdir;
  14. }

测试

  1. //创建多级目录
  2. @Test
  3. public void testCreateMoreDirectory() {
  4. boolean moreDirectory = createMoreDirectory("d:/a/b/c");
  5. System.out.println("moreDirectory = " + moreDirectory);//true,创建成功;false,目录已存在,创建失败。
  6. }

3、综合练习

  1. 需求:在d:/a/b/c 目录下创建1.jpg文件
  1. //1. 先创建目录
  2. String directoryPath = "d:/a/b/c/";//目录路径
  3. createMoreDirectory(directoryPath);
  4. //2. 在该目录下创建文件
  5. String fileName = "1.jpg";//文件名称
  6. String filePath = directoryPath + fileName;//文件路径
  7. createFile(filePath);
  1.  

File类的使用。的更多相关文章

  1. java中File类的使用

    public class FileLei {    public static void main(String[] args) throws IOException {        //..表示上 ...

  2. File 类

    File 类:文件和目录(文件夹)路径名的抽象表现形式. 方法 1.创建功能 public boolean createNewFile():创建文件 public boolean mkdir():创建 ...

  3. C#File类常用的文件操作方法(创建、移动、删除、复制等)

    File类,是一个静态类,主要是来提供一些函数库用的.静态实用类,提供了很多静态的方法,支持对文件的基本操作,包括创建,拷贝,移动,删除和 打开一个文件. File类方法的参量很多时候都是路径path ...

  4. File类基础

    File类的作用: Java的io包中定义了File类,用于对文件或文件夹的管理操作. File类只能够用于表示文件或文件夹的信息(属性)和对该文件或文件夹的删除创建操作 (不能对内容进行访问) 通过 ...

  5. 【转】File类应用 - FilenameFilter 和 FileFilter

    FilenameFilter & FileFilter FilenameFilter 和 FileFilter 都是用来过滤文件,例如过滤,以.jpg或者.java结尾的文件,通过看他们的源码 ...

  6. Java篇-File类之创建删除

    /** * */ package com.io.file; import java.io.File; import java.io.IOException; import org.junit.Test ...

  7. JavaIO之File类

    Java-IO之File类 Java-IO之File类 1. File类 1.1. File类说明 1.2. 体验 File 类 1.3. 构造一个 File 类实例: 1.4. 路径: 1.4.1. ...

  8. I/O流——File类及使用

    I/O框架介绍 I/O是计算机输入/输出的接口.Java的核心库java.io提供了全方面的I/O接口,包括:文件系统的操作,文件读写,标准设备的输出等. File类及使用 ①   一个File类的对 ...

  9. 初学File类

    对File类的基本方法的理解 今天刚开始学了File类 一开始看思想编程看得迷迷糊糊的,之后受不了了,直接去看API文档 归纳: File->java.util File类的主要方法: 构造方法 ...

  10. Java File类总结和FileUtils类

    Java File类总结和FileUtils类 文件存在和类型判断 创建出File类的对象并不代表该路径下有此文件或目录. 用public boolean exists()可以判断文件是否存在. Fi ...

随机推荐

  1. 安装python第三方模块

    下载 第三方模块的下载地址:https://pypi.python.org/pypi 其他版本的第三方模块下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs ...

  2. [CSP-S模拟测试]:多维网格(组合数学+容斥)

    题目传送门(内部题138) 输入格式 输入数据第一行为两个整数$d,n$. 第二行$d$个非负整数$a_1,a_2,...,a_d$.     接下来$n$行,每行$d$个整数,表示一个坏点的坐标.数 ...

  3. d3.js+svg的树形图

    效果图 数据 { "name":"中国", "children": [ { "name":"浙江" ...

  4. JS给XMLHttpRequest添加filter

    function XMLHttpRequestFilter(){ let base = XMLHttpRequest.prototype.open; let filter_list = []; let ...

  5. spark 笔记 13: 再看DAGScheduler,stage状态更新流程

    当某个task完成后,某个shuffle Stage X可能已完成,那么就可能会一些仅依赖Stage X的Stage现在可以执行了,所以要有响应task完成的状态更新流程. ============= ...

  6. Java -- 通过 URLConnection 进行http请求中文乱码

    对writer和reader指定字符集 out = new PrintWriter(new OutputStreamWriter(conn.getOutputStream(), "utf-8 ...

  7. nfs服务安装部署测试

    nfs:网络文件系统作用:某个文件或目录共享,使其它用户可以通过网络访问此共享目录或文件.***特别注意共享的目录权限1.使用nfs需要先安装 yum install -y nfs-utils rpc ...

  8. 阶段3 2.Spring_07.银行转账案例_5 编写业务层和持久层事务控制代码并配置spring的ioc

    Service中就需要用到 TransactionManager中的方法.提供set方法等着spring注入 这里面所有的操作都可以加上事物控制 其他的方法都是相同的操作 这里没有返回结果 转账的方法 ...

  9. mingw32环境上静态编译 dav1d 0.4.0

    2019-08-05 发布 dav1d 0.4.0 dav1d 'Cheetah', the fast and small AV1 decoder This is the fourth major r ...

  10. mingw 编译 libopus 1.3.1 时 注意事项

    OPUS_STACK_PROTECTOR 默认是使用的, 在 windows 上编译时一定要去掉选项不然 -lopus 链接时出现错误undefined reference to `__stack_c ...