无法写入钛中的文件
Cannot write to file in Titanium
本文关键字:文件 更新时间:2023-09-26
我在写入 Titanium Studio 中的文件时遇到问题。特别是.json
文件。代码已编译完成,未引发异常。
这是我的相关代码部分,在添加元素之前,我先将文件解析为 var,然后将其字符串化以写回。阅读效果很好,添加元素也是如此,写作过程有问题
var file = Ti.Filesystem.getFile(Ti.Filesystem.resourcesDirectory,'data.json');
var jsontext = file.read().toString();
var jsondoc = JSON.parse(jsontext);
jsondoc['feedlist'].push({
"picloc":imagename,
"title":titlef.value,
"desc1":descf1.value,
"desc2":descf2.value,
"desc3":descf3.value
});
jsontext = JSON.stringify(jsondoc);
file.write(jsontext); // write(data,[append])
注意:我已经查阅了文档并做了一些自己的搜索,有些人建议应该使用"Filestream"代替普通文件以及.close()
,我还没有让它们工作,但如果有人知道如何让它工作,这可能是解决方案的指针
提前谢谢。
编辑:这个问题被标记为重复,最初我认为这是两个单独的问题,一个是关于将文本写入文件。另一种方法是将event.media(图片)解析为文件。
我现在让它工作了,问题是我试图写入只读目录中的文件
Ti.Filesystem.resourcesDirectory:应用程序资源所在的只读目录
Ti.Filesystem.applicationDataDirectory:应用可访问的读/写目录。此目录的内容保留直到您删除文件或直到用户卸载应用程序
这是我的代码,目录被修改了
var sesfile = Ti.Filesystem.getFile(Ti.Filesystem.applicationDataDirectory,'data2.json');
var jsontext = sesfile.read().toString();
var jsondoc = JSON.parse(jsontext);
jsondoc['feedlist'].push({
"picloc":imagename,
"title":titlef.value,
"desc1":descf1.value,
"desc2":descf2.value,
"desc3":descf3.value
});
jsontext = JSON.stringify(jsondoc);
sesfile.write(jsontext,false);
如果您无法找到数据目录,而只想从那里加载文件。(就我而言,它不存在于项目中,也不会使用网络预览编译创建)你可以先做这样的引导类型指令
var rdfile = Ti.Filesystem.getFile(Ti.Filesystem.resourcesDirectory,'data.json');
var sesfile = Ti.Filesystem.getFile(Ti.Filesystem.applicationDataDirectory,'data2.json');
var jsontext = rdfile.read().toString();
var jsondoc = JSON.parse(jsontext);
sesfile.write(jsontext);
希望它能帮助像我一样犯业余错误的人。
相关文章:
- 如何播放部分音频文件
- 从桌面读取python文件时高亮显示代码
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 如何使用WCF服务和javascript表单post上传.doc文件
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 如何在生成下载文件时显示加载动画
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 正在SharePoint 2013母版页中添加JQuery移动文件
- 如何在php文件中获取$.post-ajax传递的值
- 直接下载文件,而不是从window.open(url)
- 如何在android中使用phonegap将文件从一个文件夹移动/复制到另一个文件夹
- 使用压缩的JavaScript文件(不是运行时压缩)
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- Javascript运行php文件,然后下载文件
- 节点Js:How to catch a“;没有这样的文件或目录“;读取线模块出错
- 我应该如何从xml文件构建一个javascript页面
- 通过Ajax将JavaScript函数传递给PHP文件