在 Java 中将 USB 闪存作为 RandomAccessFile 打开时存在 seek、length 和 setLength 方法的问题。代码的小例子:
try {
RandomAccessFile raf = new RandomAccessFile("\\\\.\\G:", "r");
raf.seek(10);
raf.setLength((long) 0);
System.out.println(raf.length());
}
catch (FileNotFoundException ex) {
Logger.getLogger(NewClass.class.getName()).log(Level.SEVERE, null, ex);
}
catch (IOException ex) {
Logger.getLogger(NewClass.class.getName()).log(Level.SEVERE, null, ex);
}
或者还有另一个问题。此代码引发 FileNotFoundException,但我可以在 Windows 中打开此路径并查看文件:
try {
File file = new File("G:\\");
RandomAccessFile raf = new RandomAccessFile(file, "r");
}
catch (FileNotFoundException ex) {
Logger.getLogger(NewClass.class.getName()).log(Level.SEVERE, null, ex);
}
catch (IOException ex) {
Logger.getLogger(NewClass.class.getName()).log(Level.SEVERE, null, ex);
}
我能做些什么来解决这个问题?必须将闪存设备作为 RandomAccessFile 打开才能使用 Fat32-lib 使用它