Robovm读取和写入文件

时间:2014-10-02 20:27:02

标签: java ios robovm

我尝试将文本写入文件并稍后阅读此文本。当我使用FileWriter时,我变成了NullPointerException? 这是许可问题还是......?我也尝试PrintWriter,但我看到相同的例外 。 这是我的代码:

FileWriter fw = new FileWriter(new File("file.file"));
fw.write("XYZ");
最好的问候 londi

2 个答案:

答案 0 :(得分:0)

我猜您的问题是您使用相对文件路径,但相对路径的来源不是您想要的路径。

首先,尝试在类似Linux的机器上使用绝对路径,例如/home/me/myCode/myfile.txt,或者在Windows上使用类似c:/some/path/myfile.txt的路径

你可以做的另一件事是,为了知道发生了什么,打印原点。

文件来源=新文件(“。”); 的System.out.println(origin.getAbsolutePath());

一旦你知道原点在哪里,就可以看到你需要什么才能到达你的文件。

希望它会有所帮助。

答案 1 :(得分:0)

听起来像是一个权限问题。在iOS上,您的应用程序位于安全沙箱中,因此您不能随意随意读取和写入任何文件。您可以使用File.createTempFile创建一个临时文件,隐藏您的沙箱,其他任何东西都无法看到它,或使用本机API确定转储文件的位置。以下示例将为您提供Documents Documents文件夹的文件引用:

        NSArray nsa = NSFileManager.defaultManager().URLsForDirectory$inDomains$(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask);
        NSURL nsu = (NSURL)nsa.getFirst();
        String snsu = nsu.getAbsoluteString() + "MyNewDocument.pdf";
        File newFile = new File(new URI(snsu));