我正在尝试为文件路径创建一个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()
文件路径是通过获取documents目录并手动附加其余文件路径而创建的。它实际上来自使用j2objc生成的Objective C代码(基本上是Java代码)。
现在,当我执行时,
[NSURL fileURLWithPath: file_path]
,执行被卡在那里。我能够在xcode中验证,当我暂停时,我无法摆脱NSURL代码。
我在哪里错了?
答案 0 :(得分:1)
正如您所说,您正在手动添加路径。最好使用filemanager的默认方法来创建文件夹并追加路径。
之后,应将最终路径添加到NSUrl。
答案 1 :(得分:1)
如果您用Objc / Swift编写代码,它将起作用,但是您不需要这样做。在与此相关的Google网上论坛帖子中,您提到了“ 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的有效格式。