File类的使用。
在Java中,File是用来操作文件夹和文件的。
1、先来说说计算机中文件夹和文件的区别。
文件夹:
普通计算机文件夹是用来协助人们管理计算机文件的,每一个文件夹对应一块磁盘空间,它提供了指向对应空间的地址,它没有扩展名,也就不像文件的格式用扩展名来标识。是一种商业或事业等活动过程中为了纸质文件的存储、保护和规范管理而使用到的工具。
举例: 在计算机中,说文件夹"abc",其实不准确,一般都会讲"C盘中的有个abc文件夹"。 即,每一个文件夹会对应一块磁盘空间。
计算机文件:
计算机文件属于文件的一种,与普通文件载体不同,计算机文件是以计算机硬盘为载体存储在计算机上的信息集合。文件可以是文本文档、图片、程序等等。文件通常具有三个字母的文件扩展名,用于指定文件类型(例如,图片文件常常以JPEG格式保存并且文件扩展名为.jpg)
举例:电脑D盘上有个图片文件1.jpg。
小结:
计算机文件是存储在计算机硬盘上的。
文件夹是用来管理计算机文件的。
2、Java如何创建文件夹和文件。
2.1 创建文件
/**
* 创建文件
*
* @param pathName 指定文件路径。
* @return true:创建文件成功。 false:创建文件失败。
*/
public static boolean createFile(String pathName) {
/*
指定路径,创建file对象。文件夹或者文件可以不存在。
PS:
1)路径可能是个文件夹,可能是个文件。
2)文件创建的前提:
要么在磁盘根目录。
要么在已存在的文件夹中创建。如果文件夹不存在,会抛异常。
*/
File file = new File(pathName);
boolean newFile = false;
try {
newFile = file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
return newFile;
}
测试
/**
* 创建文件
*/
@Test
public void testCreateFile() throws IOException {
boolean file1 = createFile("D:/yuank.jpg");
// boolean file1 = createFile("D:/a/yuank.jpg");//如果a文件夹不存在,会抛异常
System.out.println(file1);
}
2.2 创建临时文件
/**
* 创建临时文件(每次都会不同) yuank27917289910742955258.jpg
*
* @param prefix 文件前缀
* @param suffix 文件后缀
* @param directory 文件目录。 如果为null,路径默认为电脑的临时目录:System.getProperty("java.io.tmpdir")
* @return
*/
public static File createTempFile(String prefix, String suffix, File directory) { try {
return File.createTempFile(prefix, suffix, directory);
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
测试
/**
* 创建临时文件
*/
@Test
public void testCreateTempFile() {
File file = createTempFile("yuank", ".jpg", new File("D:/1"));
String path = null;
if (file != null) {
path = file.getPath();
}
System.out.println("path = " + path);
}
2.2 创建文件夹
创建一级目录
/**
* 创建一级目录
*
* @param pathName 路径名称
* @return
*/
public static boolean createOneDirectory(String pathName) {
File file = new File(pathName);
boolean mkdir = false;
if (!file.exists()) {
mkdir = file.mkdir();
}
return mkdir;
}
测试
//创建一级目录
@Test
public void testCreateDirectory() {
boolean oneDirectory = createOneDirectory("d:/a/");
System.out.println("oneDirectory = " + oneDirectory);//true,创建成功;false,目录已存在,创建失败。
}
创建多级目录
/**
* 创建多级目录
*
* @param pathName 路径名称
* @return
*/
public static boolean createMoreDirectory(String pathName) {
File file = new File(pathName);
boolean mkdir = false;
if (!file.exists()) {
mkdir = file.mkdirs();
}
return mkdir;
}
测试
//创建多级目录
@Test
public void testCreateMoreDirectory() {
boolean moreDirectory = createMoreDirectory("d:/a/b/c");
System.out.println("moreDirectory = " + moreDirectory);//true,创建成功;false,目录已存在,创建失败。
}
3、综合练习
需求:在d:/a/b/c 目录下创建1.jpg文件
//1. 先创建目录
String directoryPath = "d:/a/b/c/";//目录路径
createMoreDirectory(directoryPath);
//2. 在该目录下创建文件
String fileName = "1.jpg";//文件名称
String filePath = directoryPath + fileName;//文件路径
createFile(filePath);
File类的使用。的更多相关文章
- java中File类的使用
public class FileLei { public static void main(String[] args) throws IOException { //..表示上 ...
- File 类
File 类:文件和目录(文件夹)路径名的抽象表现形式. 方法 1.创建功能 public boolean createNewFile():创建文件 public boolean mkdir():创建 ...
- C#File类常用的文件操作方法(创建、移动、删除、复制等)
File类,是一个静态类,主要是来提供一些函数库用的.静态实用类,提供了很多静态的方法,支持对文件的基本操作,包括创建,拷贝,移动,删除和 打开一个文件. File类方法的参量很多时候都是路径path ...
- File类基础
File类的作用: Java的io包中定义了File类,用于对文件或文件夹的管理操作. File类只能够用于表示文件或文件夹的信息(属性)和对该文件或文件夹的删除创建操作 (不能对内容进行访问) 通过 ...
- 【转】File类应用 - FilenameFilter 和 FileFilter
FilenameFilter & FileFilter FilenameFilter 和 FileFilter 都是用来过滤文件,例如过滤,以.jpg或者.java结尾的文件,通过看他们的源码 ...
- Java篇-File类之创建删除
/** * */ package com.io.file; import java.io.File; import java.io.IOException; import org.junit.Test ...
- JavaIO之File类
Java-IO之File类 Java-IO之File类 1. File类 1.1. File类说明 1.2. 体验 File 类 1.3. 构造一个 File 类实例: 1.4. 路径: 1.4.1. ...
- I/O流——File类及使用
I/O框架介绍 I/O是计算机输入/输出的接口.Java的核心库java.io提供了全方面的I/O接口,包括:文件系统的操作,文件读写,标准设备的输出等. File类及使用 ① 一个File类的对 ...
- 初学File类
对File类的基本方法的理解 今天刚开始学了File类 一开始看思想编程看得迷迷糊糊的,之后受不了了,直接去看API文档 归纳: File->java.util File类的主要方法: 构造方法 ...
- Java File类总结和FileUtils类
Java File类总结和FileUtils类 文件存在和类型判断 创建出File类的对象并不代表该路径下有此文件或目录. 用public boolean exists()可以判断文件是否存在. Fi ...
随机推荐
- 分布式-信息方式-ActiveMQ静态网络连接多线程的consumer(消费者)访问集群
操作如下: 1:把整个conf文件夹复制一份,比如叫做conf22:修改里面的 activemq.xml文件(1)里面的 brokerName不能跟原来的重复(2)数据存放的文件名称不能重复,比如:& ...
- SpringBoot 单文件和多文件上传
单.多文件上传:单文件上传使用upload.html ,多文件上传使用uploads.html 创建一个Springboot application, POM 中加入 spring-boot-star ...
- Javascript事件:this.value()和this.select()
1.JavaScript的this.value() <asp:TextBox ID="txtComment" runat="server" Text=&q ...
- LeetCode328----奇偶链表
给定一个单链表,把所有的奇数节点和偶数节点分别排在一起.请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性. 请尝试使用原地算法完成.你的算法的空间复杂度应为 O(1),时 ...
- echarts+json笔记
echart_test.html <!DOCTYPE html> <head> <meta charset="utf-8"> <scrip ...
- 获取<a>标签值</a>的标签值及更改
html代码: <a id="catelogue_div1_h5" onclick="catelogue_div1(event)">隐藏</a ...
- spark 笔记 16: BlockManager
先看一下原理性的文章:http://jerryshao.me/architecture/2013/10/08/spark-storage-module-analysis/ ,http://jerrys ...
- (组件的)状态(state)和属性(props)之间有何不同
State 是一种数据结构,用于组件挂载时所需数据的默认值.State 可能会随着时间的推移而发生突变,但多数时候是作为用户事件行为的结果.Props(properties 的简写)则是组件的配置.p ...
- 63不同路径II
题目: 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” ).机器人每次只能向下或者向右移动一步.机器人试图达到网格的右下角(在下图中标记为“Finish”).现在考 ...
- MySQL 常见面试知识点
之前简单总结了一下MySQL的场景面试知识点 1.讲下MVCC原理 2.MySQL高可用架构介绍 3.OSC(在线更改表结构)原理 4.MySQL性能调优有哪些关键点/经验 5.MySQL在线备份方案 ...