Lesen und schreiben Sie wie java.nio

Es ist jetzt voller Gefühle, aber es ist erfrischend. Ich möchte nur die Angewohnheit loswerden, direkt an Stream zu schreiben.

Für unbestimmte Typen

Channels.java


ReadableByteChannel inChannel = Channels.newChannel(InputStream);
WritableByteChannel outChannel = Channels.newChannel(OutputStream);

ByteBuffer buffer = ByteBuffer.allocate(102400);

for (int readBytes = inChannel.read(buffer); readBytes != -1; readBytes = inChannel.read(buffer)) {
    buffer.flip();
    outChannel.write(buffer);
    buffer.clear();
}

Dateien lesen und schreiben 1

FileChannel1.java


File srcFile = new File(IN);
FileChannel in = new FileInputStream(srcFile).getChannel();
FileChannel out = new FileOutputStream(new File(OUT)).getChannel();

out.write(in.map(FileChannel.MapMode.READ_ONLY, 0, srcFile.length));

Dateien lesen und schreiben 2

FileChannel2.java


FileChannel in = new FileInputStream(new File(IN)).getChannel();
FileChannel out = new FileOutputStream(new File(OUT)).getChannel();

in.transferTo(0, in.size(), out);

Recommended Posts

Lesen und schreiben Sie wie java.nio
Lassen Sie uns das Spock-Framework einführen und Unit-Tests wie Testfahrten schreiben
Vuze Plug-In zum Schreiben und Genießen
Lesen und generieren Sie QR-Code [Android]
Schreiben Sie Schlüssel und Werte in Ruby