スペースで区切られた数千の数字を含む大きなテキスト ファイルがあります。Java FileChannel を使用して各数値を読み取りたい。
ここに記載されている最初の方法を使用してファイルを読み取ることができました: http://howtodoinjava.com/2013/05/01/3-ways-to-read-files-using-java-nio/しかし、方法がわかりません2 桁、3 桁、4 桁の数字をそれぞれ読みます。
私のコード:
public static void main(String args[]) {
try
{
String file_name="abc.txt";
RandomAccessFile input_file = new RandomAccessFile(file_name,"r");
FileInputStream in = new FileInputStream(file_name);
FileChannel ch = in.getChannel();
FileChannel inChannel = input_file.getChannel();
long file_size = inChannel.size();
ByteBuffer buffer = ByteBuffer.allocate((int) file_size);
Charset cs = Charset.forName("ASCII");
// inChannel.read(buffer);
int rd;
while ( (rd = ch.read( buffer )) != -1 )
{
buffer.rewind();
System.out.println("String read: ");
CharBuffer chbuf = cs.decode(buffer);
for ( int i = 0; i < chbuf.length(); i++ )
{
System.out.print(chbuf.get());
}
buffer.clear();
inChannel.close();
input_file.close();
}
}
catch (IOException exc){}
} }