如何从Java访问CD Rom驱动器(在我的情况下,F :)?我不介意特定于平台的代码。我使用的是Windows 8.我有以下代码,但获得了AccessDenied。
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个真相正在检查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)
答案 0 :(得分:2)
RandomAccessFile
提供对文件而不是目录的访问权限。
抛出FileNotFound
,因为没有文件,只有一个目录。
http://docs.oracle.com/javase/6/docs/api/java/io/RandomAccessFile.html#RandomAccessFile(java.io.File,java.lang.String)
答案 1 :(得分:1)
我现在看到了我的错误。当我真正想要的是来自光盘的原始数据时,我正在尝试使用Java File对象。我正在给一个目录并尝试打开它,就像一个文件导致原始帖子中看到的错误。一旦我将路径更改为特定文件,它就可以工作。
我将创建一个更清楚我想要的新问题。谢谢。