Java File
类
在 Java 中,File 类用于表示文件或目录路径名。因为文件和目录的名称在不同的平台上有不同的格式。文件的路径可以是绝对的,也可以是相对的。有许多File
类的方法可以用来创建、读取、删除或重命名文件。
此类扩展了对象类并实现了可序列化接口。下面是类的声明。
申报
public class File extends Object implements Serializable, Comparable<File>
File
类位于 java.io 包中,所以我们需要导入包来使用它的功能。
以下是File
类的字段。
| S.no | 田 | 描述 | | one | 路径分隔符 | 它表示为字符串,用于分隔路径的字符。 | | Two | pathSeparatorChar | 它用作路径分隔符。 | | three | 分离器 | 它表示为字符串,用于分隔路径的字符。这是默认的名称分隔符。 | | four | 分割器 | 它表示为字符串,用于分隔路径的字符。这是默认的名称分隔符。 |
以下是File
类的构造器。
1.文件(文件父级,字符串子级)
2.文件(字符串路径名)
3.文件(字符串父项,字符串子项)
4. 选项卡
下面是File
类的方法。
| 没有。 | 方法 | 描述 | | one | createTempFile(字符串前缀,字符串后缀) | 它用于创建一个空文件。 | | Two | createNewFile() | 它用于创建一个新文件,该文件为空并且具有抽象路径名。 | | three | canWrite() | 它用于检查应用是否可以修改具有抽象路径的文件。 | | four | canExecute() | 它用于检查应用是否可以执行具有抽象路径的文件。 | | five | 可以读取() | 它用于检查应用是否可以读取具有抽象路径的文件 | | six | isAbsolute() | 用于检查抽象路径名是否为绝对路径名。 | | seven | isDirectory() | 用于检查具有抽象路径名的文件是否为目录。 | | eight | isFile() | 用于检查具有抽象路径名的文件是否为文件。 | | nine | getName() | 它用于获取文件的名称。 | | Ten | getparent() | 它用于获取父文件的名称 | | Eleven | toPath() | 用于获取 java.nio.file.Path 的对象。 | | Twelve | toURI() | 它用于创建具有抽象路径名的文件的网址。 | | Thirteen | 列表文件() | 它用于获取抽象路径名的数组。 | | Fourteen | getFressSpace() | 它用于获取未分配的字节数。 | | Fifteen | 列表(文件名过滤器过滤器) | 它用于获取具有抽象路径名的文件名的字符串数组。 | | Sixteen | mkdir() | 它用于创建目录名。 |
示例:创建文件
让我们通过创建一个新文件来开始使用文件。要创建一个文件,我们使用 createNewFile 方法,该方法以文件名作为参数。如果文件尚不存在,此方法将创建一个新文件。请看下面的例子。
import java.io.File;
import java.io.IOException;
public class FileCreateDemo1
{
public static void main(String[] args)
{
try
{
File Obj = new File("FileDemo.txt");
if (Obj.createNewFile()) {
System.out.println("******File created******");
System.out.println("Name of the file = " + Obj.getName());
}
else{
System.out.println("File already exists.");
}
}
catch (IOException e){
e.printStackTrace();
}
}
}
示例:写入文件
创建文件后,现在将数据写入文件。为了写入数据,使用了 Filewrite 类的方法。它将写入数据,但可能会引发异常,因此请确保也处理这些异常。
import java.io.FileWriter;
import java.io.IOException;
public class FileWriteDemo1
{
public static void main(String[] args)
{
try
{
FileWriterobj = new FileWriter("FileDemo.txt");
obj.write("Welcome to studytonight.com.");
obj.close();
System.out.println("File is Updated.");
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
示例:读取文件
为了从文件中读取数据,我们使用了File
类和场景类来处理系统资源的输入和输出。这里我们使用两种方法hasNextLine()
和nextLine()
顺序读取数据。
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class FileReadDemo1
{
public static void main(String[] args)
{
try
{
File Obj = new File("FileDemo.txt");
Scanner obj1 = new Scanner(Obj);
while (obj1.hasNextLine())
{
String obj2 = obj1.nextLine();
System.out.println(obj2);
}
obj1.close();
}catch (FileNotFoundException e)
{
e.printStackTrace();
}
}
}
示例:复制文件
让我们再举一个例子,将一个文件的数据复制到另一个文件。这里我们使用文件输入和输出流来读写数据。虽然这只是将一个文件数据复制到另一个文件的过程,但是 Java 提供了内置的方法来将一个文件数据直接复制到另一个文件。见下面的例子。
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class FileCopyDemo1 {
public static void main(String[] args) {
FileInputStream a = null;
FileOutputStream b = null;
try {
File obj_in = new File("FileDemo.txt");
File obj_out = new File("FileDemo1.txt");
a = new FileInputStream(obj_in);
b = new FileOutputStream(obj_out);
byte[] buffer = new byte[1024];
int length;
while ((length = a.read(buffer)) > 0) {
b.write(buffer, 0, length);
}
a.close();
b.close();
System.out.println("File copied successfully!!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
文件权限
我们可以使用内置的方法检查权限,比如:文件的读、写、删除等。File
类提供方法canRead()
、canWrite()
等检查操作是否允许。
import java.io.*;
public class FilePermissionDemo1 {
public static void main(String[] args) {
File a = new File("FileDemo1.txt");
boolean b = a.exists();
if (b == true) {
System.out.println("Executable: " + a.canExecute());
System.out.println("Readable: " + a.canRead());
System.out.println("Writable: " + a.canWrite());
} else {
System.out.println("File not found.");
}
}
}
正在检索文件信息
这是文件处理的一个重要部分,获取文件的元数据是保存文件信息所必需的,如:File
类型、文件位置、文件权限等。在这个例子中,我们使用了 File 类的一些内置方法来获取关于文件的信息。见下面的例子
import java.io.File;
public class FileInfoDemo1
{
public static void main(String[] args)
{
File Obj = new File("FileDemo1.txt");
if (Obj.exists())
{
System.out.println("File name= " + Obj.getName());
System.out.println("***********************************");
System.out.println("Absolute path= " + Obj.getAbsolutePath());
System.out.println("***********************************");
System.out.println("Writeable= " + Obj.canWrite());
System.out.println("***********************************");
System.out.println("Readable= " + Obj.canRead());
System.out.println("***********************************");
System.out.println("File size in bytes= " + Obj.length());
}
else
{
System.out.println("file does not exist.");
}
}
}
删除文件
在这种情况下,我们需要删除一个文件,然后 Java 提供了方法delete()
来帮助使用代码删除一个文件。在这个例子中,我们正在删除文件。方法返回一个布尔值,以确保文件已成功删除。
import java.io.File;
public class FileDeleteDemo1 {
public static void main(String[] args) {
File Obj = new File("FileDemo.txt");
if (Obj.delete()) {
System.out.println(Obj.getName() + " has been deleted");
} else {
System.out.println("Failed");
}
}
}