--J'ai vu l'article suivant
$ 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)
ʻabc_test_ok_1_this.csv`` ・ ・ ・
ʻabc_test_ok_100_this.csv`` est préparé, donc à partir de là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);
}
});
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();}
}
«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.