NSURL创建挂起

时间:2018-07-28 03:15:40

标签: ios objective-c nsurl

我正在尝试为文件路径创建一个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代码。

我在哪里错了?

2 个答案:

答案 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的有效格式。