Table des matières
File类
File类常用的构造方法
查看文件的相应信息
遍历目录下的文件
文件过滤器
对子目录进行遍历
删除文件及目录
Maison Java javaDidacticiel Méthodes courantes de classe de fichiers Java et exemple d'analyse de filtre de fichiers

Méthodes courantes de classe de fichiers Java et exemple d'analyse de filtre de fichiers

Apr 29, 2023 am 08:31 AM
java file

File类

File类用于封装一个路径,这个路径可以是从系统盘符开始的绝对路径,也可以是相对于当前目录的相对路径,File类内部封装的路径可以指向一个文件,也可以指向一个目录,在File类中提供了针对这些目录或文件的一些常规操作。

File类常用的构造方法

 File(String pathname)//通过指定的一个字符串类型的文件路径来创建一个新的File对象
 File(String parent,String child)//根据指定的一个字符串类型的父路径和一个字符串类型的子路径创建一个File对象
 File(File parent,String child)//根据指定的File类的父路径和字符串类型的子路径创建一个File对象

查看文件的相应信息

package JS;
 import java.io.File;
 public class XX {
     public static void main(String[] args) {
         File file=new File("example.txt");
         //获取文件名称
         System.out.println("文件名称:"+file.getName());
         //获取文件的相对路径
         System.out.println("文件的相对路径:"+file.getPath());
         //获取文件的绝对路径
         System.out.println("文件的绝对路径:"+file.getAbsolutePath());
         //获取文件的父路径
         System.out.println("文件的父路径:"+file.getParent());
         //判断文件是否可读
         System.out.println(file.canRead() ?"文件可读":"文件不可读");
         //判断文件是否可写
         System.out.println(file.canWrite() ?"文件可写":"文件不可写");
         //判断是否是同一个文件
         System.out.println(file.isFile() ?"是一个文件":"不是一个文件");
         //判断是否是同一个目录
         System.out.println(file.isDirectory() ?"文件是一个目录":"文件不是一个目录");
        //得到文件最后的修改时间
         System.out.println("最后修改时间为:"+file.lastModified());
         //得到文件的大小
         System.out.println("文件的大小为:"+file.length()+"bytes");
         //是否成功删除文件
         System.out.println("是否成功删除文件"+file.delete());
     }
 }
Copier après la connexion

Méthodes courantes de classe de fichiers Java et exemple danalyse de filtre de fichiers

遍历目录下的文件

通过list()方法可以遍历某个指定目录下的所有文件名称

 package JhiShi;
 import java.io.File;
 public class Example01 {
     public static void main(String[] args) throws Exception{
         File file=new File("C:\\Users\\lenovo\\IdeaProjects\\java se");
         if(file.isDirectory()){
             String[] names=file.list();
             for (String name:names){
                 System.out.println(name);
             }
         }
     }
 }
Copier après la connexion

Méthodes courantes de classe de fichiers Java et exemple danalyse de filtre de fichiers

先通过File类里面的isDirectory()方法判断路径指向的是否为存在的目录,存在就调用list()方法,并且获得String类型的数组names,数组中包含这个目录下的所有文件的文件名,然后循环遍历数组的names,依次打印出每个文件的名字。

文件过滤器

 package JhiShi;
 import java.io.File;
 import java.io.FilenameFilter;
 public class Example02 {
     public static void main(String[] args) throws Exception{
         File file=new File("C:\\Users\\lenovo\\IdeaProjects\\java se");
         FilenameFilter filter=new FilenameFilter() {
             @Override
             public boolean accept(File dir, String name) {
                 File currFile=new File(dir,name);
                 if(currFile.isFile()&&name.endsWith(".txt")){
                     return true;
                 }else{
                     return false;
                 }
             }
         };
         if(file.exists()){
             String[] lists=file.list(filter);
             for (String name:lists){
                 System.out.println(name);
             }
         }
     }
Copier après la connexion

Méthodes courantes de classe de fichiers Java et exemple danalyse de filtre de fichiers

对子目录进行遍历

 package JhiShi;
 import java.io.File;
 public class Example03 {
     public static void main(String[] args) throws Exception{
         File file=new File("C:\\Users\\lenovo\\IdeaProjects\\java se");
         fileDir(file);
     }
     public static void fileDir(String[] args) {
         File[]files=dir.listFiles();
         for (File file:files){
             if(file.isDirectory()){
                 fileDir(file);
             }
             System.out.println(file.getAbsoluteFile());
         }
     }
 }
Copier après la connexion

通过一个静态方法fileDir(),用于接收一个表示目录的File对象,先调用listFile()方法把该目录下所有的子目录和文件存到一个File类型的数组files中,然后遍历数组files,并且对遍历对象进行判断,如果是目录就从新调用fileDir()方法进行递归,如果是文件则输出文件的路径。

删除文件及目录

 package JhiShi;
 import java.io.File;
 public class Example03 {
     public static void main(String[] args) {
         File file=new File("C:\\ABC");
         deleteDir(file);  
     }
     public static void deleteDir(String[] args) {
         if(dir.exists){
             File[]files=dir.listFiles();
             for(File file:files){
                 if(files.isDirectory()){
                     deleteDir(file);
                 }else{
                     file.delete();
                 }
             }
             dir.delete();
         }
     }
 }
Copier après la connexion

定义了一个删除目录的静态方法deleteDir()来接收一个File类型的参数,调用listFiles()方法把这个目录下所有的子目录和文件保存到一个File类型的数组files中,然后遍历files,如果是目录从新调用deleteDir()方法进行递归,如果是文件则直接调用File的delete()方法删除,当删除完这个目录下的所有文件时,再删除这个目录。

注意:Java删除目录是从虚拟机直接删除而不是回收站,一旦删除无法恢复

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Nombre parfait en Java Nombre parfait en Java Aug 30, 2024 pm 04:28 PM

Guide du nombre parfait en Java. Nous discutons ici de la définition, comment vérifier le nombre parfait en Java ?, des exemples d'implémentation de code.

Weka en Java Weka en Java Aug 30, 2024 pm 04:28 PM

Guide de Weka en Java. Nous discutons ici de l'introduction, de la façon d'utiliser Weka Java, du type de plate-forme et des avantages avec des exemples.

Numéro de Smith en Java Numéro de Smith en Java Aug 30, 2024 pm 04:28 PM

Guide du nombre de Smith en Java. Nous discutons ici de la définition, comment vérifier le numéro Smith en Java ? exemple avec implémentation de code.

Questions d'entretien chez Java Spring Questions d'entretien chez Java Spring Aug 30, 2024 pm 04:29 PM

Dans cet article, nous avons conservé les questions d'entretien Java Spring les plus posées avec leurs réponses détaillées. Pour que vous puissiez réussir l'interview.

Break or Return of Java 8 Stream Forach? Break or Return of Java 8 Stream Forach? Feb 07, 2025 pm 12:09 PM

Java 8 présente l'API Stream, fournissant un moyen puissant et expressif de traiter les collections de données. Cependant, une question courante lors de l'utilisation du flux est: comment se casser ou revenir d'une opération FOREAK? Les boucles traditionnelles permettent une interruption ou un retour précoce, mais la méthode Foreach de Stream ne prend pas directement en charge cette méthode. Cet article expliquera les raisons et explorera des méthodes alternatives pour la mise en œuvre de terminaison prématurée dans les systèmes de traitement de flux. Lire plus approfondie: Améliorations de l'API Java Stream Comprendre le flux Forach La méthode foreach est une opération terminale qui effectue une opération sur chaque élément du flux. Son intention de conception est

Horodatage à ce jour en Java Horodatage à ce jour en Java Aug 30, 2024 pm 04:28 PM

Guide de TimeStamp to Date en Java. Ici, nous discutons également de l'introduction et de la façon de convertir l'horodatage en date en Java avec des exemples.

Programme Java pour trouver le volume de la capsule Programme Java pour trouver le volume de la capsule Feb 07, 2025 am 11:37 AM

Les capsules sont des figures géométriques tridimensionnelles, composées d'un cylindre et d'un hémisphère aux deux extrémités. Le volume de la capsule peut être calculé en ajoutant le volume du cylindre et le volume de l'hémisphère aux deux extrémités. Ce tutoriel discutera de la façon de calculer le volume d'une capsule donnée en Java en utilisant différentes méthodes. Formule de volume de capsule La formule du volume de la capsule est la suivante: Volume de capsule = volume cylindrique volume de deux hémisphères volume dans, R: Le rayon de l'hémisphère. H: La hauteur du cylindre (à l'exclusion de l'hémisphère). Exemple 1 entrer Rayon = 5 unités Hauteur = 10 unités Sortir Volume = 1570,8 unités cubes expliquer Calculer le volume à l'aide de la formule: Volume = π × r2 × h (4

Créer l'avenir : programmation Java pour les débutants absolus Créer l'avenir : programmation Java pour les débutants absolus Oct 13, 2024 pm 01:32 PM

Java est un langage de programmation populaire qui peut être appris aussi bien par les développeurs débutants que par les développeurs expérimentés. Ce didacticiel commence par les concepts de base et progresse vers des sujets avancés. Après avoir installé le kit de développement Java, vous pouvez vous entraîner à la programmation en créant un simple programme « Hello, World ! ». Une fois que vous avez compris le code, utilisez l'invite de commande pour compiler et exécuter le programme, et « Hello, World ! » s'affichera sur la console. L'apprentissage de Java commence votre parcours de programmation et, à mesure que votre maîtrise s'approfondit, vous pouvez créer des applications plus complexes.

See all articles