`

File类中几个经常用到的方法

 
阅读更多

一、File类的一些常用方法:

 

1.createNewFile

 

public boolean createNewFile()

                      throws IOException

Atomically creates a new, empty file named by this abstract pathname if and only if a file with 

this name does not yet exist. The check for the existence of the file and the creation of the 

file if it does not exist are a single operation that is atomic with respect to all other 

filesystem activities that might affect the file.

Note: this method should not be used for file-locking, as the resulting protocol cannot be made 

to work reliably. The FileLock facility should be used instead.

 

Returns:

true if the named file does not exist and was successfully created; false if the named file 

 

already exists

Throws:

IOException - If an I/O error occurred

SecurityException - If a security manager exists and its SecurityManager.checkWrite

 

(java.lang.String) method denies write access to the file

Since:

1.2

 

 

2.delete

 

public boolean delete()

Deletes the file or directory denoted by this abstract pathname. If this pathname denotes a 

directory, then the directory must be empty in order to be deleted.

Returns:

true if and only if the file or directory is successfully deleted; false otherwise

 

 

 

3.renameTo

 

public boolean renameTo(File dest)

Renames the file denoted by this abstract pathname.

Many aspects of the behavior of this method are inherently platform-dependent: The rename 

operation might not be able to move a file from one filesystem to another, it might not be 

atomic, and it might not succeed if a file with the destination abstract pathname already 

exists. The return value should always be checked to make sure that the rename operation was 

successful.

 

Parameters:

dest - The new abstract pathname for the named file

Returns:

true if and only if the renaming succeeded; false otherwise

这个方法可以用来移动文件夹的同时,修改文件夹的名称(同样适用于文件)

 

 

 

 

 

二、几个容易混淆的方法

 

(1)getPath()与getAbsolutePath()的区别

public static void test1(){

        File file1 = new File(".\\test1.txt");

        File file2 = new File("D:\\workspace\\test\\test1.txt");

        System.out.println("-----默认相对路径:取得路径不同------");

        System.out.println(file1.getPath());

        System.out.println(file1.getAbsolutePath());

        System.out.println("-----默认绝对路径:取得路径相同------");

        System.out.println(file2.getPath());

        System.out.println(file2.getAbsolutePath());

 

}

 

得到的结果:

-----默认相对路径:取得路径不同------

.\test1.txt

D:\workspace\test\.\test1.txt

-----默认绝对路径:取得路径相同------

D:\workspace\test\test1.txt

D:\workspace\test\test1.txt

因为getPath()得到的是构造file的时候的路径。

getAbsolutePath()得到的是全路径

如果构造的时候就是全路径那直接返回全路径

如果构造的时候试相对路径,返回当前目录的路径+构造file时候的路径

 

(2).getAbsolutePath()和getCanonicalPath()的不同

public static void test2() throws Exception{

        File file = new File("..\\src\\test1.txt");

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

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

    }

得到的结果

D:\workspace\test\..\src\test1.txt

D:\workspace\src\test1.txt

可以看到CanonicalPath不但是全路径,而且把..或者.这样的符号解析出来。

 

(3).

public static void test3() throws Exception{

        File file = new File("D:\\Text.txt");

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

    }

 

确定你的系统是Windows系统。

确定D盘下没有Text.txt这个文件,直接执行这段代码,得到的结果是:

D:\Text.txt

注意这里试大写的Text.txt

在D盘下建立一个文件,名叫text.txt,再次执行代码,得到结果

D:\text.txt

同样的代码得到不同的结果。

同时可以对比getAbsolutePath()看看,这个得到的结果是一样的。

 

原因:

window是大小写不敏感的,也就是说在windows上test.txt和Test.txt是一个文件,所以在windows上当文件不

 

存在时,得到的路径就是按照输入的路径。但当文件存在时,就会按照实际的情况来显示。这也就是建立文件

 

后和删除文件后会有不同的原因。文件夹和文件类似。

分享到:
评论

相关推荐

    总结了一些asp.net 经常需要用到的一些方法和类

    被封装在一起的类有以下几个: Compare------------------数据比较类(如比较时间大小) Cookie-------------------操作Cookie的类 DataBase-----------------数据操作的类 Encrypt------------------...

    如何将input type=file显示的浏览变成英文的

    在网页开发过程中,我们经常会用到`<input type="file">`标签来让用户选择文件上传。默认情况下,这个标签在点击时会弹出一个文件选择对话框,并且对话框上的按钮(如“打开”、“取消”)以及提示文本(如“所有...

    html 中 #include file 的用法示例介绍

    在HTML中,我们常常需要在多个文件之间共享内容或代码,这就需要用到文件包含的相关技术。然而,HTML本身并不支持直接的文件包含功能,因此需要使用服务器端包含(Server-Side Includes,简称SSI)技术来实现。SSI通过...

    java代码-用mkdir创建目录, 用到File类创建文件对象,list()列函数,isDirectory()判断是否目录函数。

    总结一下,本知识点主要涉及了以下几个方面: 1. `File`类的使用,包括构造函数、`exists()`、`isDirectory()`、`mkdir()`和`mkdirs()`方法。 2. 如何获取目录下的文件和子目录列表,使用`list()`方法。 3. 如何在...

    FileManager_filemanager_FileManager_itselflba_java_

    通过研究这个源码,开发者可以学习到以下几个关键知识点: 1. **Java I/O流**:文件管理涉及读写文件,因此会用到Java的输入输出流,如`FileInputStream`和`FileOutputStream`。 2. **文件和目录操作**:`java.io....

    FileExplorer.zip

    在 Delphi 中,创建文件浏览器通常涉及到以下几个关键知识点: 1. **VCL (Visual Component Library)**:这是 Delphi 提供的一套图形用户界面(GUI)组件库,包括各种控件如 TTreeView 和 TListView,可以用来构建...

    filemanager

    在这款源码中,我们可以学习到以下几个关键知识点: 1. **Android 文件系统**:Android系统采用Linux内核,因此其文件系统与传统的Linux文件系统类似,包括EXT4、FAT32等。源码中会涉及到如何读取、创建、删除、...

    oracle 用户 表空间 以及几个工作中用到的特殊函数

    在Oracle数据库管理中,用户、表空间和特定的函数是日常操作的关键元素。下面将详细介绍这些知识点: 1. **创建用户**: 使用`CREATE USER`语句可以创建新的数据库用户。例如: ``` CREATE USER jack IDENTIFIED...

    软件开发经常用到的英语专业词汇

    "软件开发经常用到的英语专业词汇" 软件开发中,英语专业词汇是必不可少的一部分。从 Java 开发到软件开发编程中常见的词汇,无一不涉及到英语专业词汇。以下是软件开发中常用的英语专业词汇表,涵盖了绝大多数的...

    AMESim表格数据导入方法--经常用到.rar_Amesim存数据_Amesim怎么查表_amesim中的数表_amesim表

    3. 导入Excel数据:在打开的Table Editor中,选择"File" -> "Import Table",然后浏览并选择你的Excel文件。AMESim会尝试匹配Excel列和数表列,确保数据对应正确。 4. 配置导入选项:在导入过程中,你可以选择是否...

    classfile_constants_java_

    Java 类文件常量池(Classfile Constants)是Java字节码文件(.class文件)结构中的一个重要组成部分。这个部分存储了类和接口的各种元数据,包括但不限于类名、方法名、字段名、字符串、常量数值等。这些常量在编译...

    Treeview for file explorer

    这个项目可能涉及到以下几个关键知识点: 1. **TreeView控件**:在Windows Forms或WPF应用程序中,TreeView控件是一种用户界面元素,用于展示层次结构的数据。它可以模拟Windows资源管理器中的文件夹结构,让用户...

    DOS中经常用到的网络命令(word版)

    下面将详细介绍几个常用的DOS网络命令: 1. **ARP (Address Resolution Protocol)** ARP命令用于查看和修改地址解析协议(ARP)所使用的IP到以太网或令牌环物理地址的映射表。当你需要查找或修改IP地址与其MAC地址...

    项目中要用到的小实例2

    具体到源码实现,可能包括以下几个关键知识点: 1. **前端部分**:HTML5的`<input type="file">`元素用于选择文件,JavaScript(可能配合jQuery或其他库)用于监听文件选择事件,进行文件类型和大小的预检查,然后...

    Java常用包

    Object类是Java中的根类,提供了多种实例方法,包括: * equals()方法:判断对象是否相等 * getClass()方法:返回对象的类 * hashCode()方法:返回对象的哈希码 * notify()方法:通知等待的线程 * notifyAll()方法...

    jQuery插件jcrop+Fileapi完美实现图片上传+裁剪+预览的代码分享

    整个实现过程分为几个步骤: 1. 使用HTML表单来上传图片,这需要一个`<input>`元素来让用户选择本地文件。 2. 当用户选择图片后,使用FileAPI读取文件列表,并进行基本的格式和大小检查。 3. 通过FileAPI获取图片的...

    在b/s开发中经常用到的javaScript技术

    在b/s开发中经常用到的javaScript技术整理 Posted on 2006-02-17 15:55 MeiYU 阅读(377) 评论(0) 编辑 收藏 一、验证类 1、数字验证内 1.1 整数 1.2 大于0的整数 (用于传来的ID的验证) 1.3 负整数的验证 1.4 ...

    Java使用File类遍历目录及文件实例代码

    在Java编程语言中,`File`类是处理文件和目录的核心工具。它允许开发者进行文件的创建、删除、重命名以及目录的遍历等操作。本文将深入探讨如何使用`File`类遍历目录和文件,并提供实例代码供参考。 首先,`File`类...

    findfile3.rar

    在`Qt`环境中,实现文件查找功能通常涉及到以下几个关键知识点: 1. **文件系统模型**:`Qt`提供了一个强大的`QFileSystemModel`类,它能够展示计算机的文件系统结构,包括驱动器、目录和文件。通过这个模型,...

    C++流类体系与文件操作

    C++的标准流类库由以下几个基本类构成: 1. **基类ios**:这是所有流类的基类,提供了一些基本的输入/输出特性,如错误处理和格式控制。 2. **输入类istream**:它派生自ios,主要用于数据的输入(提取)操作。`...

Global site tag (gtag.js) - Google Analytics