teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

ちょっと追記

2018/09/08 23:41

投稿

raccy
raccy

スコア21782

answer CHANGED
@@ -1,3 +1,3 @@
1
- [SeekableBypeChannel.read()](https://docs.oracle.com/javase/jp/8/docs/api/java/nio/channels/SeekableByteChannel.html#read-java.nio.ByteBuffer-)はファイルから読み込んだデータをバッファに書き込んで、**読み込んだバイト数を返します**。今のコードでは、その読み込んだバイト数だけを出力しているだけになっています。
1
+ [SeekableBypeChannel.read()](https://docs.oracle.com/javase/jp/8/docs/api/java/nio/channels/SeekableByteChannel.html#read-java.nio.ByteBuffer-)はファイルから読み込んだデータをバッファに書き込んで、**読み込んだバイト数を返します**。今のコードでは、その読み込んだバイト数だけを出力しているだけになっています。データは`buffer`に書き込まれていますが、何も処理していません。
2
2
 
3
3
  `buffer`の中身を出力するようにしてください。しかし、`buffer`は`ByteBuffer`であるため、そのままでは文字列として認識されません。ファイルの中身の文字コードの`Charset`を作り、`Charset.decode()`で`CharBuffer`に変更してから、`println`に渡してみてください。