0

如何从 Java 访问 CD ROM 驱动器(在我的例子中是 F:)?我不介意平台特定的代码。我使用的是 Windows 8。我有以下代码,但被拒绝访问。

    public static void main(String args[]) throws IOException {     
        File cd = new File( "f:\\lang" );
        System.out.println(cd.canRead());
        RandomAccessFile rawAccess = new RandomAccessFile( cd, "r" );

        rawAccess.close();
   }

这 3 个 true 正在检查 cd.canRead、cd.canWrite、cd.canExecute。

   true
   true
   true
   Exception in thread "main" java.io.FileNotFoundException: f:\lang (Access is denied) at java.io.RandomAccessFile.open(Native Method)
   at java.io.RandomAccessFile.<init>(Unknown Source) at myapp.main(myapp.java:16)
4

2 回答 2

2

RandomAccessFile提供对文件而不是目录的访问。

FileNotFound抛出,因为没有文件,只有一个目录。

http://docs.oracle.com/javase/6/docs/api/java/io/RandomAccessFile.html#RandomAccessFile(java.io.File , java.lang.String)

于 2012-12-23T00:58:05.317 回答
1

我现在看到了我的错误。当我真正想要的是来自光盘的原始数据时,我正在尝试使用 Java File 对象。我正在提供一个目录并尝试像打开文件一样打开它,导致原始帖子中出现错误。一旦我将路径更改为特定文件,它就起作用了。

我将创建一个更清楚我想要什么的新问题。谢谢你。

于 2012-12-22T20:27:07.507 回答