Como acessar dados brutos específicos no disco a partir do java

Estou tentando usar o código a seguir para acessar um byte com deslocamento de 50 bytes em um disco bruto.

randomAccessFile = new RandomAccessFile("C:", "r");
randomAccessFile.seek(50);
byte[] buffer = new byte[1];
randomAccessFile.read(buffer);

Mas tudo o que recebo é o seguinte erro:

java.io.FileNotFoundException: C: (Acceso denegado)
at java.io.RandomAccessFile.open(Native Method)
at java.io.RandomAccessFile.<init>(RandomAccessFile.java:212)
at java.io.RandomAccessFile.<init>(RandomAccessFile.java:98)
at pru.lseek.main(lseek.java:26)

Existe alguma maneira de acessar um byte preciso em uma unidade de java?

questionAnswers(8)

yourAnswerToTheQuestion