NSURL 创建挂起

NSURL creation hangs

我正在尝试为文件路径创建一个 NSURL:/private/var/mobile/Containers/Data/PluginKitPlugin/5EF4C1A8-D8F2-4867-B163-766C691A38C7/Documents/some_folder_name/data.mp4

String file_path = new File(documents_path + File.separator + some_folder_name + File.separator + "data.mp4").getAbsolutePath() 

文件路径是通过获取文档目录并手动附加文件路径的其余部分创建的。它实际上来自 Objective C 使用 j2objc 生成的代码(基本上是 java 代码)。

现在,当我执行时,

[NSURL fileURLWithPath: file_path]

,执行卡在那里。我在xcode中能够验证,当我暂停时,我无法从 NSURL 代码中出来。

我哪里错了?

如您所说,您正在手动附加路径。最好使用文件管理器的默认方法来创建文件夹和附加路径。

之后应该将最终路径添加到 NSUrl。

如果您在 Objc/Swift 中编写代码,它会起作用,但您不需要这样做。在链接到此的 google 组 post 中,你提到了 'mkdirs',但你并没有在上面调用它。假设路径本身是有效的,您可以使用 Java/J2objc 代码来完成此操作,如果您正在为 J2objc 而烦恼,您也可以,对吗?

File dir = new File(documents_path + File.separator + some_folder_name);
dir.mkdirs();
File dataFile = new File(dir, "data.mp4");
String file_path = dataFile.getAbsolutePath();

应验证 'documents_path' 是 Java 的有效形式。