Utilisons Java New FileIO! (Introduction, pour les débutants)

Déclencheur

J'enseigne Java à l'école, donc je l'ai fait à partir des matériaux de l'époque.

Explication des mots

Pour le moment, expliquez les mots et les phrases.

Qu'est-ce que FileIO?

Vous pouvez faire I (entrée / entrée) et O (sortie / sortie) du système de fichiers!

Qu'est-ce qu'un système de fichiers! !!

Un système de fichiers est un monde créé par un fichier (File) qui stocke des données dans le système d'exploitation et un répertoire (Directory, Folder) qui les gère collectivement.

introduction

Que pouvez-vous faire avec FileIO?

Pour les fichiers et les répertoires, vous pouvez faire tout ce que nous faisons (probablement) dans le système d'exploitation, comme supprimer, créer, exister,…, écrire, lire, etc. !!

Alors, comment faites-vous cela en Java?

→ NewIO, une bibliothèque Java standard, est recommandée!

Dans le passé, il était principalement composé d'une classe appelée File (série java.io), mais maintenant il est pratique et optimisé, il utilise donc un package appelé New I / O (série java.nio). Ce sera désormais le courant dominant.

Utilisons NewIO

Premiers pas avec NewIO

Dans NewIO, les deux (trois) classes suivantes jouent généralement un rôle de base.

Path:Une classe qui convertit String pour représenter le chemin d'un fichier
Paths:Classe de création de chemin
Files:Classe qui gère réellement les fichiers

Obtenir le chemin

Obtenir le chemin (exemple)… Emplacement du fichier!

Path path = Paths.get(“C:\\”, “a”);

Exemples d'utilisation de fichiers

Exemple d'utilisation de fichiers ... Effectuer des opérations sur des fichiers / répertoires.

Files.exsit(path);

Lire et écrire dans des fichiers

Fondamentalement, vous devez utiliser les deux classes suivantes. (Bien que la plupart des autres classes soient fondamentalement anciennes, veuillez noter qu'elles sont souvent utilisées dans d'autres classes même si elles sont anciennes.)

BufferedWriter:Une classe qui écrit efficacement dans un fichier à l'aide d'un tampon
BufferedReader:Une classe qui lit efficacement les fichiers à l'aide d'un tampon

Qu'est-ce que Buffer?

Données temporairement placées dans l'espace mémoire. Aussi connu sous le nom de tmp / temp.

Génération de BufferedWriter / BufferedReader (instance)

Ancienne façon

Peut-être que je ne l'utilise pas beaucoup (dans NewIO).

BufferedWriter bw = new BufferedWriter(Writer);
BufferedReader br = new BufferedReader(Reader);

Génération de BufferedWriter / BufferedReader à l'aide de NewIO

BufferedWriter bw = Files.newBufferedWriter(path);

Utilisation de BufferedWriter / BufferedReader

bw.write(String);
String line = br.readLine();
try {
	BufferedWriter bw = Files.newBufferedWriter(path);
	bw.write(“A”);
	bw.close();
} catch (IOException ex) {
	ex.printStackTrace();
}

En outre, une exception peut se produire lors de la fermeture et il est nécessaire de gérer les exceptions pour la fermeture. Par conséquent, il est nécessaire de procéder comme suit.

try {
	BufferedWriter bw = Files.newBufferedWriter(path);
	bw.write(“A”);
} catch (IOException ex) {
	ex.printStackTrace();
} finally {
	try {
		bw.close();
	} catch (IOException ex) {
		ex.printStackTrace();
	}
}

Enfoncer longtemps

Utilisation de BufferedWriter / BufferedReader (amélioration) ~ try-catch-resouce!

C'est très long à écrire comme avant. Par conséquent, la syntaxe try-catch-resouce a été ajoutée à partir de Java 7, et il est devenu possible d'écrire de manière concise comme suit.

try (BufferedWriter bw = Files.newBufferedWriter(path)) {
	bw.write(“A”);
}

très bon. Référence: https://qiita.com/Takmiy/items/a0f65c58b407dbc0ca99

Comment casser une ligne? (Utilisation de write ())

Le simple fait d'appeler br.write (text) ne coupe pas la ligne,

br.write("AA");
br.write("BB");

AABB

Ce sera quelque chose comme.

Pour couper une ligne, ajoutez un caractère de saut de ligne à la fin de la chaîne de ligne.

bw.write(text + System.lineSeparator());

Tâche

  1. Ecrivez une chaîne dans le fichier
  2. Version multiligne de "1" (en utilisant la liste)
  3. Lire le fichier
  4. Version multiligne de "3." (expression de ligne utilisant List), toutes les lignes peuvent être utilisées, ou n'importe quelle plage de lignes peut être utilisée.

colonne

À propos de la syntaxe habituelle que nous avons utilisée jusqu'à présent ...

System.out.println(“Hello world!”);

Si vous regardez cela après avoir compris FileIO, je pense que c'est un peu comme FileIO.

Que voulez-vous dire? Ce sera.

En fait, System.out (out) est un OutputStream! C'est. (Autrement dit, pour la sortie)

Pour le moment, Stream est une abstraction de FileIO. (peut être) De même, il existe également System.in, qui est un InputStream. (Autrement dit, pour l'entrée)

Cependant, c'est naturel quand on y pense, et l'écriture de caractères sur la console n'est pas très différente de l'écriture de caractères sur un fichier (j'ai pensé qu'il était intéressant d'avoir ce genre de points communs).

Référence / Référence

Recommended Posts

Utilisons Java New FileIO! (Introduction, pour les débutants)
[Java] Créons un Minecraft Mod 1.14.4 [Introduction]
[Java] Créons un Minecraft Mod 1.16.1 [Introduction]
[Introduction à Java] Bases de l'arithmétique Java (pour les débutants)
Introduction à Java pour les débutants Connaissance de base du langage Java ①
Exécution de débogage Java [pour les débutants Java]
[Java] Instruction de base pour les débutants
[Pour les super débutants] Super introduction à DBUnit
Java pour les débutants, masquage des données
[Pour les super débutants] Super introduction à Maven
Application Java pour les débutants: stream
Nouvelle syntaxe pour les instructions Java 12 Switch
[Pour les débutants] Résumé du constructeur java
Les débutants jouent à des jeux Janken en Java
Java pour les débutants, les expressions et les opérateurs 1
[Pour les débutants] Exécutez Selenium sur Java
Java pour les débutants, les expressions et les opérateurs 2
[Pour les super débutants] Super introduction à Mirage SQL
java (utilisez le type de classe pour le champ)
[Pour les débutants en Java] À propos de la gestion des exceptions
Classes et instances Java pour les débutants
Introduction à Java pour la première fois # 2
Apprenez de «Et alors», les bases de Java [pour les débutants]
[Pour les débutants] Différence entre Java et Kotlin
Introduction du guide de programmation Java de nouvelle génération (Java 10)
Apprendre pour la première fois java [Introduction]
[Java] Introduction
Introduction du guide de programmation Java de nouvelle génération (Java 11)
Utilisons Swift Package Manager (SwiftPM) ~ Introduction ~
Introduction du guide de programmation Java de nouvelle génération (Java 12)
[Pour les débutants] Introduction à Java Connaissance de base du langage Java ③ Tableau, structure de sélection, structure itérative
Introduction du livre: Spring Boot Livre de référence recommandé pour les débutants!
[Java] Que dois-je utiliser pour écrire des fichiers?
Utiliser l'instruction try-with-resources Java7 pour le traitement de fermeture du curseur
Pleiades Eclipse 2020-03 Release ~ Java 14 Essayons de nouvelles fonctionnalités!
Gardons cela à l'esprit Quoi de neuf dans Java 9
Une collection de questions simples pour les débutants Java
Utilisez une bibliothèque Java externe pour le moment
[Java] Créons un Minecraft Mod 1.14.4 [99. Mod output]
[Pour les super débutants] Comment utiliser l'autofocus: vrai
Étudions Java
Pour l'apprentissage JAVA (2018-03-16-01)
Utilisons jcmd
IDE 2017 pour Java
java1.8 nouvelles fonctionnalités
[Java] Introduction à Java
[Java] Utilisez Collectors.collectingAndThen
Introduction à Java
Java pour instruction
[Java] Créons un Minecraft Mod 1.14.4 [0. Fichier de base]
[Java] Créons un Minecraft Mod 1.14.4 [4. Ajouter des outils]
[Java] Créons un Minecraft Mod 1.14.4 [5. Ajouter une armure]
[Pour les débutants] Pouvons nous enduire comme Swift!
[Pour les débutants] Comprendre rapidement les bases de Java 8 lambda
[Java] Créons un Minecraft Mod 1.14.4 [édition supplémentaire]
[Java] Créons un Minecraft Mod 1.14.4 [7. Add progress]
[Java] Créons un Minecraft Mod 1.14.4 [6. Ajouter une recette]
[Pour les débutants] Comment utiliser Stream API après Java 8
[Java] Créons un Minecraft Mod 1.16.1 [Ajouter un élément]
[Java] Créons un Minecraft Mod 1.16.1 [Fichier de base]