<Java> Quiz pour convertir par lots les noms de fichiers séparés par une chaîne de caractères spécifique avec une partie du nom de fichier

Contexte

--J'ai vu l'article suivant

environnement

$ java -version
openjdk version "14.0.1" 2020-04-14
OpenJDK Runtime Environment AdoptOpenJDK (build 14.0.1+7)
Eclipse OpenJ9 VM AdoptOpenJDK (build openj9-0.20.0, JRE 14 Mac OS X amd64-64-Bit Compressed References 20200416_40 (JIT enabled, AOT enabled)
OpenJ9   - 05fa2d361
OMR      - d4365f371
JCL      - 5757187cae based on jdk-14.0.1+7)

Préparation préalable

echo 'IntStream.range(1,101).forEach(i -> {try {Files.createFile(Paths.get("abc_test_ok_"+String.valueOf(i) + "_this.csv"),java.nio.file.attribute.PosixFilePermissions.asFileAttribute(java.nio.file.attribute.PosixFilePermissions.fromString("r--r--r--")));} catch (Exception e) {throw new RuntimeException(e);}})' | jshell -

――Il est facile de penser qu'un one-liner n'est pas adapté car Java doit être compilé, mais dans Java récent, vous pouvez utiliser un outil REPL appelé JShell.

        IntStream.range(1,101).forEach(i -> {
            try {
                Files.createFile(Paths.get("abc_test_ok_"+String.valueOf(i) + "_this.csv"),
                    PosixFilePermissions.asFileAttribute(PosixFilePermissions.fromString("r--r--r--")));
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
        });

Renommer le fichier


echo 'Path path1 = Paths.get(".");try{Files.list(path1).forEach(from -> {String intStr = from.toString().replaceAll("[^0-9]", "");try {Files.move(from, Paths.get(".",intStr + ".csv"));} catch (IOException e) {e.printStackTrace();}});} catch(IOException e) {e.printStackTrace();}' | jshell -
        Path path1 = Paths.get(".");
        try{
		    Files.list(path1).forEach(from -> {
                String intStr = from.toString().replaceAll("[^0-9]", "");
                try {
                    Files.move(from, Paths.get(".",intStr + ".csv"));
				} catch (IOException e) {
                    e.printStackTrace();
                }
            });
        } catch(IOException e) {e.printStackTrace();}
	}

en conclusion

«J'ai touché JShell pour la première fois depuis longtemps. C'est bien d'aller vite. ――Comme avec la personne précédente, je ne fais généralement pas beaucoup de traitement de fichiers, donc je l'ai fait lors de l'enquête, alors veuillez indiquer s'il existe une meilleure solution.

Recommended Posts

<Java> Quiz pour convertir par lots les noms de fichiers séparés par une chaîne de caractères spécifique avec une partie du nom de fichier
[Java] Découpez une partie de la chaîne de caractères avec Matcher et des expressions régulières
[Java] Comment utiliser une sous-chaîne pour découper une partie d'une chaîne de caractères
[Java] Comment accéder au début d'une chaîne spécifique à l'aide de la classe String
Je souhaite obtenir une liste de chaînes de caractères uniques uniquement en excluant les chaînes de caractères fixes du nom de fichier
[Java] Comment découper une chaîne de caractères caractère par caractère
[Java] Comment effacer un caractère spécifique d'une chaîne de caractères
Lisez le fichier sous le chemin de classe sous forme de chaîne de caractères avec ressort
Connexion à une base de données avec Java (partie 1) Peut-être la méthode de base
Écraser le téléchargement du fichier avec le même nom avec BOX SDK (java)
Comment vérifier le contenu de la chaîne de caractères java de longueur fixe
À propos de la méthode de conversion d'une chaîne de caractères en entier / fraction (données de conversion) en Java
L'histoire de l'oubli de fermer un fichier en Java et de l'échec
Extraire une partie d'une chaîne en Ruby
Comment savoir quelle version Java d'un fichier de classe a été compilée
[Java] Comment obtenir facilement la plus longue chaîne de caractères d'ArrayList à l'aide de stream
J'ai été englouti par l'obscurité de Romaji essayant de convertir mon nom en Romaji
Lire une chaîne dans un fichier PDF avec Java
[Android] Comment convertir une chaîne de caractères en resourceId
[Java] La partie déroutante de String et StringBuilder
Définir l'heure de LocalDateTime à une heure spécifique
Convertissez une chaîne en un tableau caractère par caractère avec Swift
[Java] Lors de la mise d'une chaîne de caractères dans le cas de l'instruction switch, il est nécessaire d'en faire une expression constante
Je veux trouver la somme de contrôle MD5 d'un fichier en Java et obtenir le résultat sous forme de chaîne de caractères en notation hexadécimale.
[Java] Informations entières des caractères du fichier texte acquises par la méthode read ()
Comment enregistrer des fichiers avec l'extension spécifiée sous le répertoire spécifié en Java dans la liste
# 1_JAVA Je veux obtenir le numéro d'index en spécifiant un caractère dans la chaîne de caractères
<java> Lire le fichier Zip et le convertir directement en chaîne
Maîtriser Kotlin ~ Convertir un fichier Java en fichier Kotlin Road to Graduation ~ Partie 3
Soumettre une tâche à AWS Batch avec Java (Eclipse)
Maîtriser Kotlin ~ Convertir un fichier Java en fichier Kotlin Road to Graduation ~ Partie 2
[Java] Comment extraire le nom du fichier du chemin
Je souhaite surveiller un fichier spécifique avec WatchService
Maîtriser Kotlin ~ Convertir un fichier Java en fichier Kotlin Road to Graduation ~ Partie 1
Comment convertir un fichier en tableau d'octets en Java
[Kotlin] Convertit ZonedDateTime en chaîne en spécifiant le format
Remplacez seulement une partie de l'hôte URL par java
Convertir un tableau d'octets Java en une chaîne hexadécimale
Initialisation avec une chaîne vide vers une instance de type Java String
J'ai essayé de convertir une chaîne de caractères en un type LocalDate en Java
À propos du comportement lors de la création d'un mappage de fichiers avec Java
Assurez-vous de comparer le résultat Java compareTo avec 0
J'ai essayé OCR de traiter un fichier PDF avec Java part2
[Introduction à Java] Gestion des chaînes de caractères (classe String, classe StringBuilder)
Convertissez Excel en Blob avec java, enregistrez-le, lisez-le à partir de DB et exportez-le sous forme de fichier!
Code pour spécifier le nom de l'image sous forme de chaîne de caractères et le coller dans ImageView (Android)
[Java débutant] Conversion d'une chaîne de caractères en valeur numérique - Quelle est la méthode parseInt de la classe Integer? ~
Essayez d'imiter l'idée d'un tableau à deux dimensions avec un tableau à une dimension
Lorsque la chaîne de caractères transmise au C ++ par JNA est déformée
Je ne peux pas créer une classe Java avec un nom spécifique dans IntelliJ
L'histoire de ne pas connaître le comportement de String en passant par Java
Fixez le nom du fichier de guerre à celui défini dans Maven
[Rails] Comment omettre l'affichage de la chaîne de caractères de la méthode link_to
Remplacer par une valeur selon la correspondance avec une expression régulière Java
Une histoire sur l'utilisation de l'API League Of Legends avec JAVA
Obtenez l'URL publique du fichier privé de Flickr en Java
Ajouter un horodatage au nom de fichier JAR dans Gradle
[Java] Introduction appropriée par Tenpa people Java Part 0 (règles du code)