【发布时间】:2012-10-04 11:08:34
【问题描述】:
我一直在尝试编写一个简单的音频开膛手,我可以用它来了解不同 CODEC 的工作方式,但我卡在第一步,我无法让我的程序从 CD 中读取,下面的代码就是我的一直在尝试使用
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.Scanner;
public class learning
{
public static void main(String[] args) throws IOException
{
File cd = new File( "/dev/sr0" );
RandomAccessFile rawAccess = new RandomAccessFile( cd, "r" );
byte[] content = new byte[20];
rawAccess.seek(19613);
rawAccess.readFully(content);
System.out.println(content);
}
}
但它给了我以下错误
Exception in thread "main" java.io.IOException: Input/output error
at java.io.RandomAccessFile.readBytes(Native Method)
at java.io.RandomAccessFile.read(RandomAccessFile.java:355)
at java.io.RandomAccessFile.readFully(RandomAccessFile.java:414)
at java.io.RandomAccessFile.readFully(RandomAccessFile.java:394)
at learning.main(learning.java:21)
我不知道为什么我会得到这个,虽然我可能不适合使用 RandomFileAccess 类,但我能找到的唯一一件事是说这应该可以工作
任何有关如何从 java 读取 CD 的帮助将不胜感激。
干杯丹尼尔
【问题讨论】:
-
您的 CD 是否已安装并可通过
/dev/sr0访问? -
是的,我确定是这样,我运行了“cdrecord -v dev=/dev/sr0 -toc”,它的目的是打印出 CD 的目录,它没有给出任何错误