4

我们的安卓平板电脑(版本 4.0.3)中有一个 USB 端口。

Pendrive 文件系统格式是

  1. NTFS
  2. FAT32

当 Pendrive 文件系统格式为FAT32文件已成功创建时。但是当文件系统格式NTFSopen failed: EACCESS (Permission denied).

我需要从 USB Pendrive 中创建一个新文件。我试过我的示例代码是

Button createFile = (Button) findViewById(R.id.createFile);
createFile.setOnClickListener(new OnClickListener() 
{
    public void onClick(View v) 
    {
        try 
        {
            File root = new File("/mnt/usbhost1");
            Runtime.getRuntime().exec("chmod 777 " + root.getAbsolutePath());
            File myFile = new File(root,"createNew.txt");
            myFile.createNewFile();
            Toast.makeText(getBaseContext(), "Done Creating File", Toast.LENGTH_SHORT).show();
        } 
        catch (Exception e) 
        {
            Toast.makeText(getBaseContext(), e.getMessage(), Toast.LENGTH_SHORT).show();
        }
    }
});

/usbhost1是一个 Android 平板电脑 USB 路径。我在哪里弄错了。如何从NTFS文件系统格式创建新文件。

提前致谢。

问候
巴拉

4

1 回答 1

2

您需要的是一种在您设备的内核中启用对 NTFS 支持的方法。这可以通过将 ntfs 驱动程序构建为可加载模块(.ko 文件)来动态实现。这需要针对您设备上运行的特定版本的内核来完成。

接下来,您需要一种在每次系统重新启动时自动加载模块的方法。这在 Android 中也是“可行的”。您可能想试试这个应用程序正是这样做的。即加载一个或多个位于 Android 设备上任何位置的内核模块。

在此之后,每当插入具有 ntfs 分区的外部设备(USB 驱动器)时,内核将能够正确识别和挂载它。因此,应用程序可以在其适当的位置访问它,例如“/mnt/usbhost1”等。

于 2012-10-08T17:27:35.753 回答