ファイル チャネルを使用して大きな xml ファイルを読み取ろうとしています。ここにサンプル コードを見つけました。試してみると、認識できない文字が出力されます。 import java.io.File; java.io.File をインポートします。java.io.FileInputStream をインポートします。java.nio.ByteBuffer をインポートします。java.nio.channels.FileChannel をインポートします。
public class MainClass {
public static void main(String[] args) throws Exception {
File aFile = new File("charData.xml");
FileInputStream inFile = null;
inFile = new FileInputStream(aFile);
FileChannel inChannel = inFile.getChannel();
ByteBuffer buf = ByteBuffer.allocate(48);
while (inChannel.read(buf) != -1) {
System.out.println("String read: " + ((ByteBuffer) (buf.flip())).asCharBuffer().get(0));
buf.clear();
}
inFile.close();
}
}
出力:
String read: ⸮
String read: ⸮
String read: ⸮
String read: ⸮
String read: ⸮
String read: ⸮
String read: ⸮
String read: ⸮
String read: ⸮
ここで何か見逃しましたか?ありがとう、
デビッド