如何将具有特殊字符的文件传输到我的 Android SD 卡?
How can I transfer a file with special character to my Android SDcard?
最近我在 Android SD 卡中创建带有来自 iPhone 的特殊字符的文件时遇到了麻烦。
我的设备:Galaxy Note4 KitKat。
我的电脑:Window7
我从 iPhone 得到了一个文件到我的电脑。
此文件包含表情符号 (http://chars.suikawiki.org/string?s=%F0%9F%90%8D)
我可以将此文件从我的 PC 传输到内部 SD 卡,但我无法传输到可移动 SD 卡。
即使我也无法将复制的文件从内部传输到移动设备。(我使用 FileOutputStream,File.createNewFile 进行复制)
我怀疑是SDcard的文件系统,试过其他FAT16(2GB sandisk Sdcard), exFAT(64GB samsung SDcard)。
但我都失败了。
我试图找到文件系统规范,但没有找到任何相关内容。
我也怀疑保留的文件标题字符,但它没有关系。
简而言之,
为什么这个文件不能传输到移动SD卡?
如何在不重命名的情况下以编程方式将此文件复制到 SD 卡?
===== 添加片段 =====
下面的特殊字符在Android设备文件浏览器中看起来像表情符号,但在我的电脑中,它看起来是顺序特殊字符。
new File("/storage/emulated/0/.txt").createNewFile(); //内部存储器。工作。
new File("/storage/extSdCard/.txt").createNewFile();//移动存储。不工作
我在保存到 SD 时偶然发现了类似的问题。这似乎是一个安全问题。您现在需要使用存储访问框架 See Here。
您可以使用分配给您的应用程序的文件,而不必使用存储访问框架。访问应用程序数据目录的一种方法是使用:
ContextCompat.getExternalFilesDirs(context, type)
这将是向后兼容的。或者您可以为棒棒糖用户使用以下内容
Context.getExternalMediaDirs()
每个方法都会给你 2 个目录。 1 个用于内部存储器,其他用于 SD(如果设备有插槽)。从这里您可以保存所有应用程序特定数据。
注意:如果用户卸载您的应用程序,此数据将被删除。
希望对您有所帮助!
最近我在 Android SD 卡中创建带有来自 iPhone 的特殊字符的文件时遇到了麻烦。
我的设备:Galaxy Note4 KitKat。 我的电脑:Window7
我从 iPhone 得到了一个文件到我的电脑。 此文件包含表情符号 (http://chars.suikawiki.org/string?s=%F0%9F%90%8D) 我可以将此文件从我的 PC 传输到内部 SD 卡,但我无法传输到可移动 SD 卡。
即使我也无法将复制的文件从内部传输到移动设备。(我使用 FileOutputStream,File.createNewFile 进行复制)
我怀疑是SDcard的文件系统,试过其他FAT16(2GB sandisk Sdcard), exFAT(64GB samsung SDcard)。
但我都失败了。
我试图找到文件系统规范,但没有找到任何相关内容。 我也怀疑保留的文件标题字符,但它没有关系。
简而言之,
为什么这个文件不能传输到移动SD卡?
如何在不重命名的情况下以编程方式将此文件复制到 SD 卡?
===== 添加片段 =====
下面的特殊字符在Android设备文件浏览器中看起来像表情符号,但在我的电脑中,它看起来是顺序特殊字符。
new File("/storage/emulated/0/.txt").createNewFile(); //内部存储器。工作。
new File("/storage/extSdCard/.txt").createNewFile();//移动存储。不工作
我在保存到 SD 时偶然发现了类似的问题。这似乎是一个安全问题。您现在需要使用存储访问框架 See Here。
您可以使用分配给您的应用程序的文件,而不必使用存储访问框架。访问应用程序数据目录的一种方法是使用:
ContextCompat.getExternalFilesDirs(context, type)
这将是向后兼容的。或者您可以为棒棒糖用户使用以下内容
Context.getExternalMediaDirs()
每个方法都会给你 2 个目录。 1 个用于内部存储器,其他用于 SD(如果设备有插槽)。从这里您可以保存所有应用程序特定数据。
注意:如果用户卸载您的应用程序,此数据将被删除。
希望对您有所帮助!