Cara menggunakan kelas Fail Java
概述
要学习Java中的File类,首先我们要知道,在Java的API中File类的定义,即文件和目录路径的抽象表现形式,不是文件本身。所以在File类中,所涉及到的操作都只是关于文件名称和目录路径的,而不是文件内容,如果想对文件内容进行操作,还得需要学习I/O流(输入/输出流)。
构造方法
基本介绍
只有构造了File类,我们后面才能对它进行操作。对于File类的构造下面介绍三种方法: 抽象表示的文件和目录的路径名:
public File(String pathname) :通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。
public File(String parent, String child) :从父路径名字符串和子路径名字符串创建新的 File实例。
public File(File parent, String child) :从父抽象路径名和子路径名字符串创建新的 File实例。
第一个用的比较多,后面两个用的比较少
代码示例
import java.io.File; public class FileDemo1 { public static void main(String[] args) { //public File(String pathname) String pathname1 = "F:\\test1.txt"; File file1 = new File(pathname1); //public File(String pathname) String pathname2 = "F:\\test2\\test1.txt"; File file2 = new File(pathname2); //下面用的少 //public File(String parent, String child) String parent = "F:\\test3"; String child = "test1.txt"; File file3 = new File(parent,child); //public File(File parent, String child) File parentDir = new File("F:\\test"); String child1 = "test2.txt"; File file4 = new File(parentDir,child1); } }
常用方法
File类的操作还是非常重要的,所以它的常用方法有很多个,为了方便记忆,我把它分为:
获取文件和目录的基本信息
判断功能
创建和删除功能
目录遍历功能
下面对这些方法分别进行介绍,并举例说明
获取文件和目录的基本信息
public String getName() :返回由此File表示的文件或目录的名称。
public String getPath() :将此File转换为路径名字符串。
public String getParent() :获得父级路径
public String getAbsolutePath() :返回此File的绝对路径名字符串
代码示例
import java.io.File; public class FileDemo2 { public static void main(String[] args) { File file = new File("F:\\test1\\test2\\text.txt"); //将此File转换为路径名字符串。 System.out.println("文件路径:"+ file.getPath()); //返回由此File表示的文件或目录的名称 System.out.println("文件名称:"+ file.getName()); //获得父级路径 System.out.println("获得父级路径"+ file.getParent()); //返回此File的绝对路径名字符串 System.out.println("绝对路径名称" + file.getAbsolutePath()); } }
判断功能
public boolean exists() :此File表示的文件或目录是否实际存在。
public boolean isDirectory() :此File表示的是否为目录。
public boolean isFile() :此File表示的是否为文件。
public isAbsolute() :判断File对象对应的文件或目录是否是绝对路径
public boolean canRead() :判断File对象对应的文件或目录是否可读
public boolean canWrite() :判断File对象对应的文件或目录是否可写
public boolean isHidden() :判断File对象对应的文件或目录是否是否隐藏
如果文件或目录不存在,那么exists()、isFile()和isDirectory()都是返回true
代码示例
import java.io.File; public class FileDemo3 { public static void main(String[] args) { File file1 = new File("F:\\test\\test1\\test2.txt"); File file2 = new File("F:\\test"); //此File表示的文件或目录是否实际存在 boolean exists1 = file1.exists(); boolean exists2 = file2.exists(); System.out.println(exists1); System.out.println(exists2); //此File表示的是否为目录 boolean directory1 = file1.isDirectory(); boolean directory2 = file2.isDirectory(); System.out.println(directory1); System.out.println(directory2); //此File表示的是否为文件 boolean file1File = file1.isFile(); boolean file2File = file2.isFile(); System.out.println(file1File); System.out.println(file2File); //判断File对象对应的文件或目录是否是绝对路径 boolean absolute = file1.isAbsolute(); System.out.println(absolute); //判断File对象对应的文件或目录是否可读 boolean canRead = file1.canRead(); System.out.println(canRead); //判断File对象对应的文件或目录是否可写 boolean canWrite = file1.canWrite(); System.out.println(canWrite); //判断File对象对应的文件或目录是否是否隐藏 boolean hidden = file2.isHidden(); System.out.println(hidden); } }
创建和删除功能
public boolean createNewFile() :当且仅当具有该名称的文件尚不存在时,创建一个新的空文件。
public boolean delete() :删除由此File表示的文件或目录。只能删除空目录。
public boolean mkdir() :创建由此File表示的目录。
public boolean mkdirs() :创建由此File表示的目录,包括任何必需但不存在的父目录
API中说明:delete方法,如果此File表示目录,则目录必须为空才能删除。
代码示例
import java.io.File; import java.io.IOException; public class FileDemo4 { public static void main(String[] args) throws IOException { //创建文件 File file1 = new File("test.txt"); System.out.println("是否存在:"+ file1.exists());//false System.out.println("是否创建"+ file1.createNewFile());//需要抛出异常 System.out.println("是否存在:"+ file1.exists()); //true //创建目录(单个) File file2 = new File("F:\\test"); System.out.println("是否存在:"+ file2.exists());//false System.out.println("是否创建"+ file2.mkdir()); System.out.println("是否存在:"+ file2.exists()); //true //创建多级目录 File file3 = new File("F:\\test1\\test2"); System.out.println("是否存在:"+ file3.exists());//false System.out.println("是否创建"+ file3.mkdirs()); System.out.println("是否存在:"+ file3.exists()); //true //文件的删除 System.out.println(file1.delete()); //目录的删除 System.out.println(file2.delete()); System.out.println(file3.delete());//只能删除一级 } }
目录遍历功能
public String[] list() :返回一个String数组,表示该File目录中的所有子文件或目录
public File[] listFiles() :返回一个File数组,表示该File目录中的所有的子文件或目录
调用listFiles方法的File对象,表示的必须是实际存在的目录,否则返回null,无法进行遍历。
代码示例
import org.junit.Test; import java.io.File; import java.io.IOException; public class FileDemo5 { public static void main(String[] args) { File dir = new File("F:\\test"); dir.mkdirs(); System.out.println(dir.exists()); //File dir1 = new File("F:\\test"); //获取当前目录下的文件及文件夹的名称 String[] names = dir.list(); //遍历 for(String name : names){ System.out.println(name); } //获取当前目录下的文件以及文件夹对象,只要拿到了文件对象,那么就可以获取更多信息 File[] files = dir.listFiles(); for(File file : files){ System.out.println(file); } } }
但对于多级目录的遍历,我们需要使用递归方法
/* 多级目录的打印。遍历之前,无从知道到底有多少级目录,所以我们可以使用递归实现 */ import java.io.File; public class FileDemo6 { public static void main(String[] args) { File dir = new File("F:\\test1"); listSubFiles(dir); } private static void listSubFiles(File dir) { if(dir != null && dir.isDirectory()){ File[] listFiles = dir.listFiles(); if(dir != null){ for(File sub : listFiles){ listSubFiles(sub);//递归调用 } } } System.out.println(dir); } }
Atas ialah kandungan terperinci Cara menggunakan kelas Fail Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas





Panduan Nombor Sempurna di Jawa. Di sini kita membincangkan Definisi, Bagaimana untuk menyemak nombor Perfect dalam Java?, contoh dengan pelaksanaan kod.

Panduan untuk Weka di Jawa. Di sini kita membincangkan Pengenalan, cara menggunakan weka java, jenis platform, dan kelebihan dengan contoh.

Panduan untuk Nombor Smith di Jawa. Di sini kita membincangkan Definisi, Bagaimana untuk menyemak nombor smith di Jawa? contoh dengan pelaksanaan kod.

Dalam artikel ini, kami telah menyimpan Soalan Temuduga Spring Java yang paling banyak ditanya dengan jawapan terperinci mereka. Supaya anda boleh memecahkan temuduga.

Java 8 memperkenalkan API Stream, menyediakan cara yang kuat dan ekspresif untuk memproses koleksi data. Walau bagaimanapun, soalan biasa apabila menggunakan aliran adalah: bagaimana untuk memecahkan atau kembali dari operasi foreach? Gelung tradisional membolehkan gangguan awal atau pulangan, tetapi kaedah Foreach Stream tidak menyokong secara langsung kaedah ini. Artikel ini akan menerangkan sebab -sebab dan meneroka kaedah alternatif untuk melaksanakan penamatan pramatang dalam sistem pemprosesan aliran. Bacaan Lanjut: Penambahbaikan API Java Stream Memahami aliran aliran Kaedah Foreach adalah operasi terminal yang melakukan satu operasi pada setiap elemen dalam aliran. Niat reka bentuknya adalah

Panduan untuk TimeStamp to Date di Java. Di sini kita juga membincangkan pengenalan dan cara menukar cap waktu kepada tarikh dalam java bersama-sama dengan contoh.

Kapsul adalah angka geometri tiga dimensi, terdiri daripada silinder dan hemisfera di kedua-dua hujungnya. Jumlah kapsul boleh dikira dengan menambahkan isipadu silinder dan jumlah hemisfera di kedua -dua hujungnya. Tutorial ini akan membincangkan cara mengira jumlah kapsul yang diberikan dalam Java menggunakan kaedah yang berbeza. Formula volum kapsul Formula untuk jumlah kapsul adalah seperti berikut: Kelantangan kapsul = isipadu isipadu silinder Dua jumlah hemisfera dalam, R: Radius hemisfera. H: Ketinggian silinder (tidak termasuk hemisfera). Contoh 1 masukkan Jejari = 5 unit Ketinggian = 10 unit Output Jilid = 1570.8 Unit padu menjelaskan Kirakan kelantangan menggunakan formula: Kelantangan = π × r2 × h (4

Java ialah bahasa pengaturcaraan popular yang boleh dipelajari oleh pembangun pemula dan berpengalaman. Tutorial ini bermula dengan konsep asas dan diteruskan melalui topik lanjutan. Selepas memasang Kit Pembangunan Java, anda boleh berlatih pengaturcaraan dengan mencipta program "Hello, World!" Selepas anda memahami kod, gunakan gesaan arahan untuk menyusun dan menjalankan program, dan "Hello, World!" Pembelajaran Java memulakan perjalanan pengaturcaraan anda, dan apabila penguasaan anda semakin mendalam, anda boleh mencipta aplikasi yang lebih kompleks.
