Java 读取不同类型的文件-Fuse
我正在编写一个Java应用程序(FUSE文件系统)。此应用程序从文件系统读取不同文件类型的文件,如文本、图像、pdf、音频和视频文件。。等等 在文件读取方法中,我编码为:Java 读取不同类型的文件-Fuse,java,file-io,fuse,Java,File Io,Fuse,我正在编写一个Java应用程序(FUSE文件系统)。此应用程序从文件系统读取不同文件类型的文件,如文本、图像、pdf、音频和视频文件。。等等 在文件读取方法中,我编码为: public int read(final String path, final ByteBuffer buffer, final long size, final long offset, final FileInfoWrapper info) { String contentOfFile=null;
public int read(final String path, final ByteBuffer buffer, final long size, final long offset, final FileInfoWrapper info)
{
String contentOfFile=null;
try {
contentOfFile= readFile(mirroredFolder+path);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
final String s = contentOfFile.substring((int) offset,
(int) Math.max(offset, Math.min(contentOfFile.length() - offset, offset + size)));
buffer.put(s.getBytes());
return s.getBytes().length;
}
但它不能正确读取所有文件类型。请参阅下面的图片,其中显示了打开文件时创建的错误消息
如图所示,代码只正确读取一种类型的文件,其余的会弹出错误消息
有人能修改我的代码,使它能普遍读取所有类型的文件吗
-后来添加- (熔丝日志)堆栈跟踪
Jun 18, 2014 11:13:36 AM org.organization.upesh.FirstMaven.SFS_360 getattr
INFO: [/Untitled Folder/picture.png] Method succeeded. Result: 0
Jun 18, 2014 11:13:38 AM org.organization.upesh.FirstMaven.SFS_360 open
INFO: [/Untitled Folder/picture.png] Method succeeded. Result: 0
Jun 18, 2014 11:13:38 AM org.organization.upesh.FirstMaven.SFS_360 read
INFO: [/Untitled Folder/picture.png] Method succeeded. Result: 0
Jun 18, 2014 11:13:38 AM org.organization.upesh.FirstMaven.SFS_360 flush
INFO: [/Untitled Folder/picture.png] Method succeeded. Result: 0
Jun 18, 2014 11:13:38 AM org.organization.upesh.FirstMaven.SFS_360 lock
INFO: [/Untitled Folder/picture.png] Method succeeded. Result: -38
release called: Path=/Untitled Folder/picture.png
Jun 18, 2014 11:13:38 AM org.organization.upesh.FirstMaven.SFS_360 release
INFO: [/Untitled Folder/picture.png] Method succeeded. Result: 0
程序不会抛出错误。但它是应用程序(即pdf阅读器、libre office阅读器、图片查看器等)的接口,在读取文件时会发出错误消息,因为我的自定义fuse文件系统读取文件的方式错误。最好提供堆栈跟踪,而不是图像。此外,我没有看到链接的图像。您正在将文件读入字符串。这仅适用于编码正确的文本文件。您只能对原始字节进行操作。@Banthar,我将读取不同类型的文件,是否有一种方法使我的程序能够读取不同类型的文件,而不仅仅是文本。Java实现似乎有几种融合。你在用哪一个?@Bantar Fuse JNA。但这不是fuse的问题,问题在于我的文件读取java代码。