File 如何在本地txt文件中写入日志数据?
我有一个AIR应用程序,我希望它将日志记录到其应用程序目录中的txt文件中 我有这门课:File 如何在本地txt文件中写入日志数据?,file,file-io,air,File,File Io,Air,我有一个AIR应用程序,我希望它将日志记录到其应用程序目录中的txt文件中 我有这门课: public class Logger { public static function log(message:String):void { var logFile:File = File.applicationDirectory; logFile = logFile.resolvePath("
public class Logger
{
public static function log(message:String):void
{
var logFile:File = File.applicationDirectory;
logFile = logFile.resolvePath("log/Logs.txt");
var fileStream:FileStream = new FileStream();
fileStream.open(logFile, FileMode.APPEND);
fileStream.writeUTFBytes("\n" + message);
fileStream.close();
}
}
}
安装后,我的应用程序具有此文件结构
日志
--Logs.txt
META-INF
xml
airapp.exe
airapp.swf
模版
所以我使用的路径是正确的。
但是没有写入文件!
你能帮我一下吗?
谢谢
Upd.好吧,我很愚蠢。我应该先正确阅读文档。
无法编辑应用程序目录中的数据
所以我应该使用applicationStorageDirectory
但如何在该目录中创建一个文件(在安装应用程序时),然后在其中附加日志?尝试以下操作:
function saveLog(content:String):void
{
var data:ByteArray = new ByteArray();
data.writeMultiByte(content, "utf-8");
file.save(data, "Logs.txt");
}
saveLog('testing :)');
要打开和编辑日志文件,请尝试按照以下操作
function saveLog(logStr:String):void
{
var myFile:File = File.applicationStorageDirectory.resolvePath("my_logs.txt");
var fs:FileStream = new FileStream();
if(!myFile.exists){
fs.open(myFile, FileMode.WRITE);
}
else{
fs.open(myFile, FileMode.APPEND);
}
fs.writeUTFBytes("\n" + logStr);
fs.close();
}
创建完成后调用此函数,然后从何处添加日志。如果您想要真正的日志,则应使用第三方安装程序,而不是adobe air的本机运行时。请尝试Wixedit(开源)或install aware 您必须将项目导出为flash builder中提供的捕获运行时格式 试试这个链接