Dies ist ein Memo des Beispielprogramms für die Eingabe / Ausgabe von Java-Dateien (jdk1.8 oder höher).
Dies ist ein Beispielprogramm, das "C: / dk / input.xlsx" auf einmal liest und es hexadezimal an die Standardausgabe ausgibt. Wenn Sie in großen Mengen lesen, müssen Sie auf die Größe achten, damit nicht der Speicherplatz knapp wird.
BinaryFileInputNio.java
package test.nio;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
/**
*Lesen Sie eine Binärdatei
*/
public class BinaryFileInputNio {
/**
* @param args
*/
public static void main(String[] args) {
//Der Name der gelesenen Datei
Path path = Paths.get("C:/dk", "input.xlsx");
try {
//Massenlesen von Binärdateien
byte[] data = Files.readAllBytes(path);
//Geben Sie die gelesenen Binärdaten hexadezimal an die Standardausgabe aus
for (int i = 0; i < data.length; i++) {
System.out.printf("%02x ", data[i]);
}
System.out.println();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Dies ist ein Beispielprogramm, das "C: / dk / input.xlsx" in Einheiten von 1024 Bytes liest und es hexadezimal an die Standardausgabe ausgibt.
BinaryFileInputNioPart.java
package test.nio;
import java.io.IOException;
import java.io.InputStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
/**
*Lesen Sie eine Binärdatei
*/
public class BinaryFileInputNioPart {
/**
* @param args
*/
public static void main(String[] args) {
//Der Name der gelesenen Datei
Path path = Paths.get("C:/dk", "input.xlsx");
//Generierung von Eingabestreams
try (InputStream inst = Files.newInputStream(path)) {
//Byte-Array zum Lesen
byte[] buf = new byte[1024];
int len = 0;
//Lesen aus dem Eingabestream (Lesen einer Datei)
while ((len = inst.read(buf)) != -1) {
//Geben Sie die gelesenen Binärdaten hexadezimal an die Standardausgabe aus
for (int i = 0; i < len; i++) {
System.out.printf("%02x ", buf[i]);
}
System.out.println();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
Dies ist ein Beispielprogramm, das Binärdaten sofort in C: / dk / output.dat
schreibt.
BinaryFileOutputNio.java
package test.nio;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
/**
*Schreiben Sie eine Binärdatei
*/
public class BinaryFileOutputNio {
/**
* @param args
*/
public static void main(String[] args) {
//Name der Schreibdatei
Path path = Paths.get("C:/dk", "output.dat");
//Binärdaten
byte[] data = { (byte)0xe3, (byte)0x83, (byte)0x86, (byte)0xe3, (byte)0x82, (byte)0xad, (byte)0xe3, (byte)0x82, (byte)0xb9, (byte)0xe3, (byte)0x83, (byte)0x88, (byte)0xe3, (byte)0x83, (byte)0x95, (byte)0xe3, (byte)0x82, (byte)0xa1, (byte)0xe3, (byte)0x82, (byte)0xa4, (byte)0xe3, (byte)0x83, (byte)0xab, (byte)0xe5, (byte)0x87, (byte)0xba, (byte)0xe5, (byte)0x8a, (byte)0x9b, (byte)0x30, (byte)0x31, (byte)0x0d, (byte)0x0a, (byte)0xe3, (byte)0x83, (byte)0x86, (byte)0xe3, (byte)0x82, (byte)0xad, (byte)0xe3, (byte)0x82, (byte)0xb9, (byte)0xe3, (byte)0x83, (byte)0x88, (byte)0xe3, (byte)0x83, (byte)0x95, (byte)0xe3, (byte)0x82, (byte)0xa1, (byte)0xe3, (byte)0x82, (byte)0xa4, (byte)0xe3, (byte)0x83, (byte)0xab, (byte)0xe5, (byte)0x87, (byte)0xba, (byte)0xe5, (byte)0x8a, (byte)0x9b, (byte)0x30, (byte)0x32, (byte)0x0d, (byte)0x0a};
try {
//Batch-Schreiben von Binärdaten
Files.write(path, data);
} catch (IOException e) {
e.printStackTrace();
}
}
}
Dies ist ein Beispielprogramm, das Binärdaten in Teilen in C: / dk / output.dat
schreibt.
BinaryFileOutputNioPart.java
package test.nio;
import java.io.IOException;
import java.io.OutputStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
/**
*Schreiben Sie eine Binärdatei
*/
public class BinaryFileOutputNioPart {
/**
* @param args
*/
public static void main(String[] args) {
//Name der Schreibdatei
Path path = Paths.get("C:/dk", "output.dat");
//Binärdaten
byte[] data1 = { (byte)0xe3, (byte)0x83, (byte)0x86, (byte)0xe3, (byte)0x82, (byte)0xad, (byte)0xe3, (byte)0x82, (byte)0xb9, (byte)0xe3, (byte)0x83, (byte)0x88, (byte)0xe3, (byte)0x83, (byte)0x95, (byte)0xe3, (byte)0x82, (byte)0xa1, (byte)0xe3, (byte)0x82, (byte)0xa4, (byte)0xe3, (byte)0x83, (byte)0xab, (byte)0xe5, (byte)0x87, (byte)0xba, (byte)0xe5, (byte)0x8a, (byte)0x9b, (byte)0x30, (byte)0x31, (byte)0x0d, (byte)0x0a};
byte[] data2 = { (byte)0xe3, (byte)0x83, (byte)0x86, (byte)0xe3, (byte)0x82, (byte)0xad, (byte)0xe3, (byte)0x82, (byte)0xb9, (byte)0xe3, (byte)0x83, (byte)0x88, (byte)0xe3, (byte)0x83, (byte)0x95, (byte)0xe3, (byte)0x82, (byte)0xa1, (byte)0xe3, (byte)0x82, (byte)0xa4, (byte)0xe3, (byte)0x83, (byte)0xab, (byte)0xe5, (byte)0x87, (byte)0xba, (byte)0xe5, (byte)0x8a, (byte)0x9b, (byte)0x30, (byte)0x32, (byte)0x0d, (byte)0x0a};
//Schreiben von Binärdaten
try (OutputStream os = Files.newOutputStream(path)) {
os.write(data1);
os.write(data2);
} catch (IOException e) {
e.printStackTrace();
}
}
}
Dies ist ein Beispielprogramm, das "C: / dk / input.txt" in einem Stapel liest und an die Standardausgabe ausgibt. Wenn Sie in großen Mengen lesen, müssen Sie auf die Größe achten, damit nicht der Speicherplatz knapp wird.
TextFileInputNio.java
package test.nio;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;
/**
*Lesen einer Textdatei
*/
public class TextFileInputNio {
/**
* @param args
*/
public static void main(String[] args) {
//Der Name der gelesenen Datei
Path path = Paths.get("C:/dk", "input.txt");
try {
//Massenlesen von Textdateien
List<String> lines = Files.readAllLines(path, StandardCharsets.UTF_8);
//Geben Sie die gelesene Textdatei in die Standardausgabe aus
lines.forEach(line -> System.out.println(line));
} catch (IOException e) {
e.printStackTrace();
}
}
}
Dies ist ein Beispielprogramm, das "C: / dk / input.txt" mit BufferedReader liest und an die Standardausgabe ausgibt.
TextFileInputNioPart1.java
package test.nio;
import java.io.BufferedReader;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
/**
*Lesen einer Textdatei
*/
public class TextFileInputNioPart1 {
/**
* @param args
*/
public static void main(String[] args) {
//Der Name der gelesenen Datei
Path path = Paths.get("C:/dk", "input.txt");
//BufferedReader generieren
try (BufferedReader br = Files.newBufferedReader(path, StandardCharsets.UTF_8)) {
String msg;
//Lesen aus einer Textdatei
while ((msg = br.readLine()) != null) {
//Ausgabe auf Standardausgabe
System.out.println(msg);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
Dies ist ein Beispielprogramm, das "C: / dk / input.txt" als Stream liest und an die Standardausgabe ausgibt.
TextFileInputNioPart2.java
package test.nio;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.stream.Stream;
/**
*Lesen einer Textdatei
*/
public class TextFileInputNioPart2 {
/**
* @param args
*/
public static void main(String[] args) {
//Der Name der gelesenen Datei
Path path = Paths.get("C:/dk", "input.txt");
//Stream-Generierung
try (Stream<String> lines = Files.lines(path, StandardCharsets.UTF_8)) {
//Ausgabe auf Standardausgabe
lines.forEach(line -> System.out.println(line));
} catch (IOException e) {
e.printStackTrace();
}
}
}
Dies ist ein Beispielprogramm, das Textdaten mit BufferedWriter in C: / dk / output.txt
schreibt.
TextFileOutputNio1.java
package test.nio;
import java.io.BufferedWriter;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
/**
*Schreiben in eine Textdatei
*/
public class TextFileOutputNio1 {
/**
* @param args
*/
public static void main(String[] args) {
//Name der Schreibdatei
Path path = Paths.get("C:/dk", "output.txt");
//Generieren Sie BufferedWriter
try (BufferedWriter bw = Files.newBufferedWriter(path, StandardCharsets.UTF_8)) {
//In Datei schreiben
for (int i= 1; i <= 2; i++) {
bw.write("Textdateiausgabe" + String.format("%02d", i));
bw.newLine();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
Dies ist ein Beispielprogramm, das mit PrintWriter Textdaten in C: / dk / output.txt
schreibt.
TextFileOutputNio2.java
package test.nio;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
/**
*Schreiben in eine Textdatei
*/
public class TextFileOutputNio2 {
/**
* @param args
*/
public static void main(String[] args) {
//Name der Schreibdatei
Path path = Paths.get("C:/dk", "output.txt");
try (
//Generieren Sie PrintWriter
BufferedWriter bw = Files.newBufferedWriter(path, StandardCharsets.UTF_8);
PrintWriter pw = new PrintWriter(bw);
) {
//In Datei schreiben
for (int i= 1; i <= 2; i++) {
pw.println("Textdateiausgabe" + String.format("%02d", i));
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
das ist alles
Recommended Posts