gpt4 book ai didi

ios - 如何保存到文件?在 iOS 上使用 AS3(初学者)

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:51:59 25 4
gpt4 key购买 nike

我正在尝试将单个单词保存到文件中,然后读取该单词以确认成功。运行读取文件的代码时,它不返回任何数据。而且,我无法验证是否创建了任何文件。

代码如下:

// This is run at the beginning of the frame, and this does display Hello in a textArea

var str:String = "Hello\n";
feedback.text = str;



// This is run when the user taps a button

var myFile:File = File.applicationStorageDirectory.resolvePath("./eFiveV3/text.txt");

var fileStream:FileStream = new FileStream();


fileStream.open(myFile,FileMode.WRITE);

fileStream.writeUTF(str);

fileStream.close();

str = "Goodbye\n";


// if the code below is run, then the feedback box will be empty. if the code below is commented out, then the feedback box will contain the text: Goodbye

fileStream.open(myFile,FileMode.READ);

str = fileStream.readMultiByte(myFile.size,File.systemCh arset);

fileStream.close();

feedback.text = str;

任何帮助将不胜感激:)

最佳答案

我会尝试一些诊断方法,但我敢打赌您会看到这个问题的原因。

但首先,我会尝试将 feedback.text 设置为 myFile.size.toString() 并查看它是否表示文件中有任何字节。如果返回的结果大于 0,那么我敢打赌发生了以下情况:

您在写入字符串时使用 writeUTF(),但在读回字符串时使用 readMultiByte()。当您使用 writeUTF( ) 它不只是直接将字符串写入文件,它还在流前面加上字符串的长度(作为 16 位整数),其中 readMultiByte() 正在尝试将这些字节直接强制转换为具有给定字符集的字符串。开头的那些额外字节可能会导致 readMultiByte() 失败或搞砸(它会尝试读取 0x06,0x00,0x00,0x00,H,e,l,l, o,\n 而不仅仅是 H,e,l,l,o,\n)。 writeUTF() 可用于将多个字符串写入同一文件,然后使用 readUTF() 从流中读回它们。

您可能希望正确配对您的读取和写入方法,使用 writeUTF()readUTF() 或使用 writeMultiByte()readMultiByte()。如果您正在尝试编写纯文本文件,那么 writeMultiByte() 将是您的不二之选。如果您正在尝试将一堆不同的数据序列化到一个文件中,那么 writeUTF() 是可行的方法。

如果文件大小实际上为零,那么我将不得不再挖掘一点,看看发生了什么。

关于ios - 如何保存到文件?在 iOS 上使用 AS3(初学者),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7766869/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com