<Java> Quiz zum Batch-Konvertieren von Dateinamen, die durch eine bestimmte Zeichenfolge mit einem Teil des Dateinamens getrennt sind

Hintergrund

Umgebung

$ 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)

Vorbereitungen

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 -

――Es ist leicht zu glauben, dass Einzeiler nicht geeignet sind, da Java kompiliert werden muss. Dies ist jedoch möglich, da in neuerem Java ein REPL-Tool namens JShell verwendet werden kann.

        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);
            }
        });

Datei umbenennen


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();}
	}

abschließend

――Ich habe JShell zum ersten Mal seit langer Zeit berührt. Es ist gut, sich schnell zu bewegen. ――Wie bei der vorherigen Person mache ich normalerweise nicht viel Dateiverarbeitung, also habe ich es während der Untersuchung gemacht. Bitte weisen Sie darauf hin, ob es einen besseren Weg gibt.

Recommended Posts

<Java> Quiz zum Batch-Konvertieren von Dateinamen, die durch eine bestimmte Zeichenfolge mit einem Teil des Dateinamens getrennt sind
[Java] Schneiden Sie einen Teil der Zeichenfolge mit Matcher und regulären Ausdrücken aus
[Java] So verwenden Sie Teilzeichenfolgen, um einen Teil einer Zeichenfolge auszuschneiden
[Java] Wie man mit der String-Klasse an die Spitze eines bestimmten Strings kommt
Ich möchte eine Liste nur eindeutiger Zeichenfolgen erhalten, indem feste Zeichenfolgen vom Dateinamen ausgeschlossen werden
[Java] So schneiden Sie eine Zeichenfolge zeichenweise aus
[Java] So löschen Sie ein bestimmtes Zeichen aus einer Zeichenfolge
Lesen Sie die Datei unter dem Klassenpfad als Zeichenfolge mit spring
Herstellen einer Verbindung zu einer Datenbank mit Java (Teil 1) Möglicherweise die grundlegende Methode
Überschreiben Sie den gleichnamigen Upload mit dem BOX SDK (Java).
So überprüfen Sie den Inhalt der Java-Zeichenfolge mit fester Länge
Informationen zur Methode zum Konvertieren einer Zeichenfolge in eine Ganzzahl / einen Bruch (Umwandlungsdaten) in Java
Die Geschichte, zu vergessen, eine Datei in Java zu schließen und zu scheitern
Extrahieren Sie einen Teil einer Zeichenfolge in Ruby
So finden Sie heraus, welche Java-Version der Klassendatei kompiliert wurde
[Java] So erhalten Sie mithilfe von Stream auf einfache Weise die längste Zeichenfolge von ArrayList
Ich wurde von der Dunkelheit Romajis verschluckt, als ich versuchte, meinen Namen in Romaji umzuwandeln
Lesen Sie eine Zeichenfolge in einer PDF-Datei mit Java
[Android] So konvertieren Sie eine Zeichenfolge in resourceId
[Java] Der verwirrende Teil von String und StringBuilder
Stellen Sie die Zeit von LocalDateTime auf eine bestimmte Zeit ein
Konvertieren Sie eine Zeichenfolge mit swift in ein zeichenweises Array
[Java] Wenn Sie eine Zeichenfolge in die switch-Anweisung einfügen, müssen Sie sie zu einem konstanten Ausdruck machen
Ich möchte die MD5-Prüfsumme einer Datei in Java finden und das Ergebnis als Zeichenfolge in hexadezimaler Notation erhalten.
[Java] Ganzzahlige Informationen von Zeichen in der Textdatei, die mit der Methode read () erfasst wurden
Speichern von Dateien mit der angegebenen Erweiterung unter dem in Java angegebenen Verzeichnis in der Liste
# 1_JAVA Ich möchte die Indexnummer durch Angabe eines Zeichens in der Zeichenfolge erhalten
<java> Zip-Datei lesen und direkt in String konvertieren
Beherrschen von Kotlin ~ Konvertieren von Java-Dateien in Kotlin-Dateien Road to Graduation ~ Teil 3
Senden Sie einen Job an AWS Batch mit Java (Eclipse)
Beherrschen von Kotlin ~ Konvertieren von Java-Dateien in Kotlin-Dateien Road to Graduation ~ Teil 2
[Java] So extrahieren Sie den Dateinamen aus dem Pfad
Ich möchte eine bestimmte Datei mit WatchService überwachen
Beherrschen von Kotlin ~ Konvertieren von Java-Dateien in Kotlin-Dateien Road to Graduation ~ Teil 1
So konvertieren Sie eine Datei in ein Byte-Array in Java
[Kotlin] Konvertieren Sie ZonedDateTime in String, indem Sie das Format angeben
Ersetzen Sie nur einen Teil des URL-Hosts durch Java
Konvertieren Sie ein Java-Byte-Array in eine hexadezimale Zeichenfolge
Initialisierung mit einer leeren Zeichenfolge für eine Instanz vom Typ Java-Zeichenfolge
Ich habe versucht, in Java von einer Zeichenfolge in einen LocalDate-Typ zu konvertieren
Informationen zum Verhalten beim Erstellen einer Dateizuordnung mit Java
Stellen Sie sicher, dass Sie das Java compareTo-Ergebnis mit 0 vergleichen
Ich habe versucht, eine PDF-Datei mit Java part2 zu verarbeiten
[Einführung in Java] Umgang mit Zeichenfolgen (String-Klasse, StringBuilder-Klasse)
Konvertieren Sie Excel mit Java in Blob, speichern Sie es, lesen Sie es aus der Datenbank und geben Sie es als Datei aus!
Code zum Angeben des Bildnamens als Zeichenfolge und Einfügen in ImageView (android)
[Java-Anfänger] Konvertierung von Zeichenfolge in numerischen Wert - Was ist die parseInt-Methode der Integer-Klasse? ~
Versuchen Sie, die Idee eines zweidimensionalen Arrays mit einem eindimensionalen Array nachzuahmen
Wenn die von JNA an C ++ übergebene Zeichenfolge verstümmelt ist
Ich kann in IntelliJ keine Java-Klasse mit einem bestimmten Namen erstellen
Die Geschichte, das Verhalten von String durch Passieren von Java nicht zu kennen
Korrigieren Sie den Namen der Kriegsdatei auf den in Maven festgelegten
[Rails] So lassen Sie die Anzeige der Zeichenfolge der link_to-Methode weg
Ersetzen Sie durch einen Wert entsprechend der Übereinstimmung mit einem regulären Java-Ausdruck
Eine Geschichte über das Erreichen der League Of Legends-API mit JAVA
Rufen Sie die öffentliche URL der privaten Datei von Flickr in Java ab
Fügen Sie dem JAR-Dateinamen in Gradle einen Zeitstempel hinzu
[Java] Angemessene Einführung durch Tenpa-Leute Java Teil 0 (Code-Regeln)