JavaIO学习之File类



File类

作用:

1.用来将文件或者文件夹封装成对象。

2.方便对文件与文件夹的属性进行操作。

3.File对象可以作为参数传递给流的构造函数。

IO流的流对象只能操作设备上的数据。

文件属性的操作和文件夹的创建,删除由File类完成。

File类


字段摘要


static String


pathSeparator

与系统有关的路径分隔符,为了方便,它被表示为一个字符串。


static char


pathSeparatorChar

与系统有关的路径分隔符。


static String


separator

与系统有关的路径分隔符。此字段被初始为包含系统属性 path.separator 值的第一个字符。此字符用于分隔以路径列表 形式给定的文件序列中的文件名。在 UNIX 系统上,此字段为 ‘:‘;在 Microsoft Windows 系统上,它为 ‘;


static char


separatorChar

与系统有关的默认名称分隔符。


构造方法摘要


File(File parent, String child)

根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。


File(String pathname)

通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。


File(String parent, String child)

根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。


File(URI uri)

通过将给定的 file: URI 转换为一个抽象路径名来创建一个新的 File 实例。


方法摘要


boolean


canExecute()

测试应用程序是否可以执行此抽象路径名表示的文件。


boolean


canRead()

测试应用程序是否可以读取此抽象路径名表示的文件。


boolean


canWrite()

测试应用程序是否可以修改此抽象路径名表示的文件。


int


compareTo(File pathname)

按字母顺序比较两个抽象路径名。


boolean


createNewFile()

当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。


static File


createTempFile(String prefix, String suffix)

在默认临时文件目录中创建一个空文件,使用给定前缀和后缀生成其名称。


static File


createTempFile(String prefix, String suffix, File directory)

在指定目录中创建一个新的空文件,使用给定的前缀和后缀字符串生成其名称。


boolean


delete()

删除此抽象路径名表示的文件或目录。


void


deleteOnExit()

在虚拟机终止时,请求删除此抽象路径名表示的文件或目录。


boolean


equals(Object obj)

测试此抽象路径名与给定对象是否相等。


boolean


exists()

测试此抽象路径名表示的文件或目录是否存在。


File


getAbsoluteFile()

返回此抽象路径名的绝对路径名形式。


String


getAbsolutePath()

返回此抽象路径名的绝对路径名字符串。


File


getCanonicalFile()

返回此抽象路径名的规范形式。


String


getCanonicalPath()

返回此抽象路径名的规范路径名字符串。


long


getFreeSpace()

返回此抽象路径名指定的分区中未分配的字节数。


String


getName()

返回由此抽象路径名表示的文件或目录的名称。


String


getParent()

返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回 null。


File


getParentFile()

返回此抽象路径名父目录的抽象路径名;如果此路径名没有指定父目录,则返回 null。


String


getPath()

将此抽象路径名转换为一个路径名字符串。


long


getTotalSpace()

返回此抽象路径名指定的分区大小。


long


getUsableSpace()

返回此抽象路径名指定的分区上可用于此虚拟机的字节数。


int


hashCode()

计算此抽象路径名的哈希码。


boolean


isAbsolute()

测试此抽象路径名是否为绝对路径名。


boolean


isDirectory()

测试此抽象路径名表示的文件是否是一个目录。


boolean


isFile()

测试此抽象路径名表示的文件是否是一个标准文件。


boolean


isHidden()

测试此抽象路径名指定的文件是否是一个隐藏文件。


long


lastModified()

返回此抽象路径名表示的文件最后一次被修改的时间。


long


length()

返回由此抽象路径名表示的文件的长度。


String[]


list()

返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。


String[]


list(FilenameFilter filter)

返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中满足指定过滤器的文件和目录。


File[]


listFiles()

返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。


File[]


listFiles(FileFilter filter)

返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。


File[]


listFiles(FilenameFilter filter)

返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。


static File[]


listRoots()

列出可用的文件系统根。


boolean


mkdir()

创建此抽象路径名指定的目录。


boolean


mkdirs()

创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。


boolean


renameTo(File dest)

重新命名此抽象路径名表示的文件。


boolean


setExecutable(boolean executable)

设置此抽象路径名所有者执行权限的一个便捷方法。


boolean


setExecutable(boolean executable, boolean ownerOnly)

设置此抽象路径名的所有者或所有用户的执行权限。


boolean


setLastModified(long time)

设置此抽象路径名指定的文件或目录的最后一次修改时间。


boolean


setReadable(boolean readable)

设置此抽象路径名所有者读权限的一个便捷方法。


boolean


setReadable(boolean readable, boolean ownerOnly)

设置此抽象路径名的所有者或所有用户的读权限。


boolean


setReadOnly()

标记此抽象路径名指定的文件或目录,从而只能对其进行读操作。


boolean


setWritable(boolean writable)

设置此抽象路径名所有者写权限的一个便捷方法。


boolean


setWritable(boolean writable, boolean ownerOnly)

设置此抽象路径名的所有者或所有用户的写权限。


String


toString()

返回此抽象路径名的路径名字符串。


URI


toURI()

构造一个表示此抽象路径名的 file: URI。


URL


toURL()

已过时。 此方法不会自动转义 URL 中的非法字符。建议新的代码使用以下方式将抽象路径名转换为 URL:首先通过 toURI 方法将其转换为 URI,然后通过 URI.toURL 方法将 URI 装换为 URL。

/**

* File的constructor演示

*/

package cn.test.filedemo;

import java.io.File;

public class FileDemo {

public static void main(String[] args) {

//File类构造函数演示

constructorDemo();

}

private static void constructorDemo() {

String pathname ="a.txt";

//讲一个已存在的,或者不存在的文件或者目录封装成对象

File file1 = new File(pathname );

File file2 = new File("c:\\","a.txt");

File file3 = new File("c:\\");

File file4 = new File(file3,"a.txt");

//文件路径分隔符的使用

File f5 = new File("c:"+File.separator+"abc"+File.separator+"a.txt");

}

}

File的方法演示

/**

* File的方法演示

* 1.获取


1.1获取文件名称
getName()


1.2获取文件路径
getAbsolutePath()与getPath()


1.3获取文件大小
length()


1.4获取文件的修改时间
lastModified()

* 2.创建与删除


创建文件

* 3.判断


要删除文件,需要先判断文件是否存在,判断文件是否可以读写等。

* 4.文件重命名

* 5.文件系统根目录 可以知道可用的磁盘标示和可用空间

* 6.获取目录内容

*

*/

package cn.test.filedemo;

import java.io.File;

import java.util.Date;

public class FileMethodDemo {

public static void main(String[] args) throws Exception {

//getDemo();

//mkdir();

//judge();

//rename();

//listRoots();

list();

}

/*获取到的是当前目录下的所有文件夹和文件,包含隐藏文件

调用list方法的File对象中封装的必须是目录

否则会发生空指针异常  java.lang.NullPointerException

如果是隐藏目录,也会出现空指针异常

如果目录存在但是没有内容,会返回一个长度为0的数组

*/

private static void list() {

// TODO Auto-generated method stub

File file = new File("d:\\");

String []names = file.list();

for (String name : names) {

System.out.println(name);

}

}

//获取文件系统根目录

private static void listRoots() {

// TODO Auto-generated method stub

//可以获取到电脑上的可操作磁盘标示

File []files = File.listRoots();

for (File file : files) {

/*

* C:\

D:\

E:\

F:\

*

*/

System.out.println(file);

}

File file = new File("c:\\");

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

//获取某个磁盘可用空间

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

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

}

//文件重命名

private static void rename() {

// TODO Auto-generated method stub

File file = new File("aa.txt");

File file2 = new File("cc.txt");

boolean rename = file.renameTo(file2);

}

//文件判断

private static void judge() {

// TODO Auto-generated method stub

//最好判断文件是否存在,在对文件进行操作

File f = new File("aa.txt");

//判断文件是否可读

boolean read = f.canRead();

//判断文件是否可以写

boolean write = f.canWrite();

//判断文件是否可执行

boolean execute = f.canExecute();

//判断是否是文件

boolean file = f.isFile();

//判断文件是否是隐藏文件

boolean hidden = f.isHidden();

//判断是否是目录

boolean directory = f.isDirectory();

//是否是绝对路径

boolean abs = f.isAbsolute();

}

//创建文件和删除

private static void mkdir() throws Exception {

// TODO Auto-generated method stub

File file = new File("bb.txt");

//创建新文件,如果文件不存在,创建文件,如果文件存在, 则不创建文件。

boolean b = file.createNewFile();

//删除文件,删除成功返回true否则返回false

//window的的删除是从里向外删除的,如果文件正在被流使用,则无法删除该文件

boolean delete = file.delete();

//凡是以can或者is开头的方法,都是作为判断的方法

//创建目录

boolean dir = file.mkdir();

}

//文件属性的获取

private static void getDemo() {

File file = new File("e:\\java\\aa.txt");

//获取文件名

String name = file.getName();

System.out.println(name);

//获取文件所在的绝对路径

String abspath = file.getAbsolutePath();

System.out.println(abspath);

//获取文件所在相对路径

String path = file.getPath();

System.out.println(path);

//获取文件大小

long len = file.length();

//获取文件最后修改时间

long time = file.lastModified();

Date date = new Date(time);

}

}

//获取指定文件目录中某一类型的文件

package cn.test.filedemo;

import java.io.File;

import java.io.FilenameFilter;

/**

* 获取指定文件目录下指定文件类型的文件


1.实现FilenameFilter接口


2.重写accept方法

accept方法会被调用很多次

*

*/

public class FilterByName implements FilenameFilter{

@Override

public boolean accept(File dir, String name) {

// TODO Auto-generated method stub

return name.endsWith(".java");

}

public static void main(String[] args) {

File dir = new File("c:\\");

String[] names = dir.list(new FilterByName());

for (String name : names) {

System.out.println(name);

}

}

}

Flie文件的过滤器很重要

时间: 2024-12-26 23:48:04

JavaIO学习之File类的相关文章

java学习一目了然——File类文件处理

java学习一目了然--File类文件处理 File类(java.io.File) 构造函数: File(String path) File(String parent,String child) File(File parent,String child) 创建文件: boolean createNewFile(); 创建文件夹: boolean mkdir(); 用于创建一层未定义文件夹 boolean mkdirs(); 用于创建多层未定义文件夹,相当于多个mkdir() 删除文件/文件夹

Java学习笔记——File类之文件管理和读写操作、下载图片

Java学习笔记——File类之文件管理和读写操作.下载图片 File类的总结: 1.文件和文件夹的创建 2.文件的读取 3.文件的写入 4.文件的复制(字符流.字节流.处理流) 5.以图片地址下载图片 文件和文件夹 相关函数 (boolean) mkdir() 创建此抽象路径名指定的目录  (boolean) mkdirs() 创建此抽象路径名指定的目录,包括所有必需但不存在的父目录. (boolean) delete() 删除此抽象路径名表示的文件或目录 (boolean) createNe

Java学习之File类理解

File类是io包中唯一代表磁盘文件本身的对象.File类定义了一些与平台无关的方法来操作文件,可以通过调用File类中的方法,实现创建.删除.重命名文件等.File类的对象主要用来获取文件本身的一些信息,如文件所在目录.文件的长度.文件读写权限等.数据流可以将数据写入到文件中,而文件也是数据流最常用的数据媒体. 1.文件的创建与删除 可以使用File类创建一个文件对象,File类构造方法: (1)File(String  pathname) 该构造方法通过将给定路径名字字符串转换为抽象路径来创

java io学习之File类

1.先看下四个静态变量 static String pathSeparator The system-dependent path-separator character, represented as a string for convenience. static char pathSeparatorChar The system-dependent path-separator character. static String separator The system-dependent

.Net学习 第2季05 C#面向对象 Path类 File类

.Net 视频学习第2季 C#面向对象 面向对象 Path类 File类 Path类,命名空间IO,静态类 Path.GetFileName(str),返回文件路径中的文件名,返回值为string Path.GetFileNameWithoutExtension(str),返回文件路径中的文件名,不带扩展名,返回值为string Path.GetExtension(str),返回文件路径中的文件的扩展名,返回值为string Path.GetDirectoryName(str),返回文件所在的全

java基础知识回顾之javaIO类--File类应用:获取指定目录下面的指定扩展名的文件,将文件的绝对路径写入到目的文件当中

/** * File文件综合应用 * 需求:获取指定目录下面,指定扩展名的文件,将文件的绝对路径写到文本文件当中. *  * 思路:1.需要深度遍历.--递归 * 2.遍历的过程中过滤指定扩展名的文件--过滤器FileNameFilter,将文件存入容器中 * 3.将容器中的内容遍历,写入到指定文件中 * */ 代码:  FilenameFilter 过滤器: package com.lp.ecjtu.File.filter; import java.io.File; import java.i

C++ File 类学习总结

对于文件操作,以前我主要接触的是Linux下的一套,而到了C++学习了一下,也发现了一些异同点 首先FILE 类需要头文件#include <stdio.h> 对于打开文件操作,Linux下使用的是fopen函数,而在VS2010使用这个函数便会报警告 error C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use

java基础知识回顾之javaIO类--File类应用:删除带内容的目录

/** * 深度删除一个带内容的目录 * 原理:必须从里往外删除,需要深度遍历 * @author Administrator * */ public class FileDeleteList { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub File dir = new File("E:\\复件 demodir"); removedir(

java基础知识回顾之javaIO类--File类应用:递归深度遍历文件

代码如下: package com.lp.ecjtu.File.FileDeepList; import java.io.File; public class FileDeepList { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub File dir = new File("E:"+File.separator+"demodir