###実現したい事
Javaでテキストファイルの任意の位置から読み込むというソースを書きたいのですが、出力結果を確認してみるとテキストファイルの中身ではなくバイト数が表示されてしまいました。おそらくサンプルを軽く見ただけで理解が完全には及んでいないんだと思うのですが、テキストの文字列を表示させる方法が分かる方回答お願いします。
###該当ソース
Java
1import java.io.*; 2import java.nio.*; 3import java.nio.file.*; 4import java.nio.channels.SeekableByteChannel; 5import java.nio.charset.Charset; 6 7public class sample{ 8 public static void main(String[] args) throws IOException { 9 // 読み込みモード 10 Path path = Paths.get("./", "sample.txt"); 11 SeekableByteChannel channel = Files.newByteChannel(path, StandardOpenOption.READ); 12 // ファイルサイズ取得 13 long fileSize = channel.size(); 14 15 // 取得のためのバッファを用意 16 ByteBuffer buffer = ByteBuffer.allocate(1024); 17 Charset charset = Charset.forName("UTF-8"); 18 // 末尾(fileSize-1)から1024byteを取得 19 channel.position(fileSize - 1 - 1024); 20 System.out.println(channel.read(buffer)); 21 charset.decode(buffer); 22 System.out.println(buffer); 23 } 24}
###補足
ソースは現時点ではファイルの最終行を表示させるというソースのつもりです。
「サンプルを軽く見ただけで理解が完全には及んでいないんだと思う」のなら、サンプルをしっかり読み込んでもう少しご自身で理解を深めてみてはいかがでしょう。焦らず一歩一歩やっていくといいと思いますよ。