--Verwenden Sie Files.readString und Path.of in einer Java 11-Umgebung --Verwenden Sie Files.readAllLines, Files.readAllBytes und Paths.get in einer Java 7-Umgebung
import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;
public class Cat {
public static void main(String[] args) throws IOException {
String path = args[0];
System.out.print(readString11(path));
System.out.print(readString7(path));
// String.Join ist Java 8 oder höher
System.out.println(String.join(System.lineSeparator(), readLines7(path)));
}
/**
*Lesen Sie die Textdatei. In Java 11 verfügbare Methoden.
* @param path Der Pfad der zu lesenden Datei
* @Inhalt der Rückgabedatei
* @throws IOException
* @throws OutOfMemoryError
* @throws RuntimeException
*/
public static String readString11(String path) throws IOException {
return Files.readString(Path.of(path), Charset.forName("UTF-8"));
}
/**
*Lesen Sie die Textdatei. In Java 7 verfügbare Methoden.
* @param path Der Pfad der zu lesenden Datei
* @Inhalt der Rückgabedatei
* @throws IOException
* @throws RuntimeException
*/
public static String readString7(String path) throws IOException {
return new String(Files.readAllBytes(Paths.get(path)), Charset.forName("UTF-8"));
}
/**
*Lesen Sie die Textdatei. In Java 7 verfügbare Methoden.
* @param path Der Pfad der zu lesenden Datei
* @Inhalt der Rückgabedatei
* @throws IOException
* @throws RuntimeException
*/
public static List<String> readLines7(String path) throws IOException {
return Files.readAllLines(Paths.get(path), Charset.forName("UTF-8"));
}
}
kompilieren.
$ javac Cat.java
Bereiten Sie eine Textdatei vor.
$ cat sample.txt
Stichprobe
Stichprobe
SANNPURU
Führen Sie den Beispielcode aus.
$ java Cat sample.txt
Stichprobe
Stichprobe
SANNPURU
Stichprobe
Stichprobe
SANNPURU
Stichprobe
Stichprobe
SANNPURU
$ java -version
java version "11.0.1" 2018-10-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.1+13-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.1+13-LTS, mixed mode)
$ uname -mrsv
Darwin 18.2.0 Darwin Kernel Version 18.2.0: Fri Oct 5 19:41:49 PDT 2018; root:xnu-4903.221.2~2/RELEASE_X86_64 x86_64
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.14.1
BuildVersion: 18B75
--Englische Referenz
Japanische Referenz
Recommended Posts