当前位置:网站首页>I / o initial et son fonctionnement de base
I / o initial et son fonctionnement de base
2022-06-30 00:29:00 【Argot H.】
Catalogue des articles
Un.、Structure de stockage des fichiers
Le document est préparé parOSGestion unifiée avec le système de fichiers
1、Le fichier est structuré en arbre(Comme un arbre binaire,Mais pas un arbre binaire)Gérer,Les fichiers sont tous des noeuds dans l'arbre(node)
2、Les documents peuvent être divisés en deux catégories:
1)、Fichier dans lequel les données sont stockées——Documents ordinaires(Communément appelé document)
2)、Gérer les fichiers de l'Organisation arborescente——Table des matières/Dossiers
3、Cet arbre n'est qu'une structure logique,Ce n'est pas la structure physique du disque dur(Un fichier peut être une combinaison de plusieurs parties du disque)
2.、Chemin du fichier
Quel est le chemin du fichier:Le chemin du fichier se réfère à,Selon une règle,Déterminer un emplacement unique à partir de l'arborescence des fichiers,Cette position doit correspondre à un noeud,Ce noeud peut ne pas exister.

1、Chemin absolu
Le chemin décrit à partir du noeud racine d'un arbre
Par exemple, nous utilisons un chemin absolu pour représenter hello.jpgDocumentation
C:/Windows/Users/hello.jgp
2、Chemin relatif
De la position actuelle, Décrivez l'emplacement du fichier cible
Par exemple, danshello.jpgDescription de l'emplacementa.txtEmplacement
hello.jpgParent deUsersParent deWindowsParent deC:Sous la table des matièresa.txt;
3、Symbole spécial pour la représentation du chemin
“.”: Indique la position actuelle
“…”: Représente le noeud parent qui retourne à sa position actuelle (Table des matières)Allez.
Trois、Fonctionnement du fichier
Dans le système de fichiers, Fonctionnement en noeuds (Niveau de code)
Par exemple:
Mouvement du fichier (Renommer le fichier,Coupe de fichiers+Coller): Le Mouvement des noeuds (Renommeror Passer à d'autres noeuds )
Opération de copie de fichier:Nouveau noeud+Reproduction du contenu
Opération de déplacement du Répertoire (Renommer le répertoire、 Table des matières +Coller): Mouvement d'un sous - arbre à la racine de ce noeud
Opération de copie de répertoire : Copie d'un sous - Arbre enraciné dans ce noeud
Supprimer: Par défaut, seuls les fichiers normaux ou les répertoires non vides peuvent être supprimés . Seuls les noeuds peuvent être supprimés , Impossible de supprimer le Sous - arbre
Supprimer le répertoire non vide: Suppression de l'arbre entier ( Il faut d'abord traverser pour supprimer les noeuds foliaires , Et puis supprimer l'arbre entier );
Quatre、UtilisationJavaLe code implémente l'action de base sur le fichier
1、Méthode de construction

Créer unFileObjet,C'est ça.File Objet pour créer un nouveau ,Modifier,Supprimer, etc
//1. Création de chemins absolus
File file1 = new File("D:/IO/hello.txt");
//2. Passer dans le répertoire parent +Sous - chemin
File file2 = new File("D:/IO", "hello.txt");
//3.ParFileEntréeparent
File parent = new File("D:/IO");
File file3 = new File(parent, "hello.txt");
2、Méthodes courantes
Permissions des fichiers de test 
Créer un nouveau fichier
Par exemple
File file=new File("D:/IO/test.txt");
file.createNewFile();//LeD:/IO Créer un répertoire nommétestDetxtDocumentation(Attention!, Si ce fichier existe déjà dans le Répertoire, la création échouera )
Supprimer le fichier
Selon l'exemple précédent ,Nous avons créé untest.txtDocumentation
On peut appelerdelete() Comment le supprimer
file.delete();// Ne fonctionne que sur les noeuds de feuilles
//Attention!: Lorsque le fichier est utilisé par un autre thread , La suppression échouera . La suppression échouera également si ce fichier n'existe pas dans le répertoire courant
// La suppression d'un répertoire non vide échouera également
3、Supprimer le répertoire non vide
Lors de la suppression d'un répertoire non vide , Il nous faut une analogie avec les arbres binaires , Tous ses noeuds de feuilles doivent être supprimés avant que l'arbre entier puisse être supprimé , Voici comment supprimer les répertoires non vides en utilisant la méthode de traversée de profondeur d'abord
Supprimer le répertoire non videsome_dir
public static void main(String[] args) throws IOException {
File file=new File("D:/IO/some_dir");
traversal(file);
}
/** * La profondeur passe d'abord par les noeuds enfants du Répertoire de fichiers courant ( Comme la traversée d'un arbre binaire ) * @param file * @throws IOException */
private static void traversal(File file) throws IOException {
File[] files=file.listFiles();
for (File file1 : files) {
if (file1.isDirectory()){
System.out.println(file1.getCanonicalPath()+"\\");
traversal(file1);
//Ajouter supprimer l'opération
file1.delete();
}else {
System.out.println(file1.getCanonicalPath());
//Ajouter supprimer l'opération
file1.delete();
}
}
}
边栏推荐
猜你喜欢
随机推荐
MySQL advanced 2
【服装软件】服装出产办理体系选型的准则有哪些?
[PHP] PHP pressure test, error reporting: generally, each socket address (Protocol / network address / port) is only allowed to be used
Solr basic operations 13
[rust weekly library] Tokei - a utility for statistics of code lines and other information
Relevance - canonical correlation analysis
Move DataGridView up and down
请指教在线开户是什么意思?另外想问,现在在线开户安全么?
js中的事件
【每日一题】二叉树的前后序遍历
传统微服务框架如何无缝过渡到服务网格 ASM
SSH key disclosure (module B competition topic) -- Application Service Vulnerability scanning and utilization
C MDI open subform to remove automatically generated menu bar
【编程题】迷宫问题
俞敏洪:我的退与进;架构师必须了解的5种最佳软件架构模式;Redis夺命52连问|码农周刊VIP会员专属邮件周报 Vol.096
mysql 死锁
Botu V16 changes the model and firmware version of PLC
Solr basic operation 6
【UML】UML的几种关系(依赖-关联-聚合-组合-继承-实现)
关联性——典型相关分析



![[review and Book delivery] 6 interesting R language projects for beginners](/img/d9/b785c92f503b78977b47a7feb88776.jpg)





