XUL程序中访问文件,非常简单,非常痛苦
来源:互联网 发布:java语言书籍推荐 知乎 编辑:程序博客网 时间:2024/05/21 11:32
先贴上短短的代码。。。
function useFile () {
var a_in_name = CQI('@mozilla.org/file/local;1',Ci.nsILocalFile);
var a_out_name = CQI('@mozilla.org/file/local;1',Ci.nsILocalFile);
var a_in_stream = CQI('@mozilla.org/network/file-input-stream;1',Ci.nsIFileInputStream);
var a_out_stream = CQI('@mozilla.org/network/file-output-stream;1',Ci.nsIFileOutputStream);
var js_in = CQI('@mozilla.org/scriptableinputstream;1',Ci.nsIScriptableInputStream);
a_in_name.initWithPath('D://js.txt'); //读取js.txt
a_out_name.initWithPath('D://js2.txt'); //写到js2.txt
a_out_name.create(Ci.nsIFile.NORMAL_FILE_TYPE, 7);
a_in_stream.init(a_in_name, 4, 0, 0);
a_out_stream.init(a_out_name, 4, 0, 0);
js_in.init(a_in_stream);
var o = js_in.read(200);
a_out_stream.write(o,o.length);
js_in.close();
a_out_stream.close();
}
程序功能很简单,从js.txt文件里面最多读200个字符,然后全部写到js2.txt里面。。。
如果像区区一样用Perl/Python/TCL/或者哪怪是C++或者C,使用标准库都不会这么冗长啊。。
不知道读者你知道不知道有什么简单的方法实现这么个简单的IO,不要说用程序库,这个下面区区会讲到。
上面的文件IO操作功能,在区区的认知当中,只有Java版的啰嗦程序可以与之相当。。
而且上面的程序还是不能在其它机器上运行的,因为CQI是区区写的一个简化函数,Ci是区区写的简化变量。
不然你的程序可能是这个样子。
var a_in_name = CQI('@mozilla.org/file/local;1',Ci.nsILocalFile);
==============>
var a_in_name = Components.classes['@mozilla.org/file/local;1']
.createInstance(Components.interfaces.nsILocalFile);
现在再回想一下,你我只是想读写一下文件而已啊~~
那用XULrunner框架开发是否就会很痛苦呢??…………一开始是,万事开头难。变换语言或者平台有一个
起步期,在此期间,要学习和逐步型成知识库/文档库/经验库,这时你才能享用这个平台最初的各种优点。
var Cc = Components.classes;就是一个很好的例子。
function useFile () {
var a_in_name = CQI('@mozilla.org/file/local;1',Ci.nsILocalFile);
var a_out_name = CQI('@mozilla.org/file/local;1',Ci.nsILocalFile);
var a_in_stream = CQI('@mozilla.org/network/file-input-stream;1',Ci.nsIFileInputStream);
var a_out_stream = CQI('@mozilla.org/network/file-output-stream;1',Ci.nsIFileOutputStream);
var js_in = CQI('@mozilla.org/scriptableinputstream;1',Ci.nsIScriptableInputStream);
a_in_name.initWithPath('D://js.txt'); //读取js.txt
a_out_name.initWithPath('D://js2.txt'); //写到js2.txt
a_out_name.create(Ci.nsIFile.NORMAL_FILE_TYPE, 7);
a_in_stream.init(a_in_name, 4, 0, 0);
a_out_stream.init(a_out_name, 4, 0, 0);
js_in.init(a_in_stream);
var o = js_in.read(200);
a_out_stream.write(o,o.length);
js_in.close();
a_out_stream.close();
}
程序功能很简单,从js.txt文件里面最多读200个字符,然后全部写到js2.txt里面。。。
如果像区区一样用Perl/Python/TCL/或者哪怪是C++或者C,使用标准库都不会这么冗长啊。。
不知道读者你知道不知道有什么简单的方法实现这么个简单的IO,不要说用程序库,这个下面区区会讲到。
上面的文件IO操作功能,在区区的认知当中,只有Java版的啰嗦程序可以与之相当。。
而且上面的程序还是不能在其它机器上运行的,因为CQI是区区写的一个简化函数,Ci是区区写的简化变量。
不然你的程序可能是这个样子。
var a_in_name = CQI('@mozilla.org/file/local;1',Ci.nsILocalFile);
==============>
var a_in_name = Components.classes['@mozilla.org/file/local;1']
.createInstance(Components.interfaces.nsILocalFile);
现在再回想一下,你我只是想读写一下文件而已啊~~
那用XULrunner框架开发是否就会很痛苦呢??…………一开始是,万事开头难。变换语言或者平台有一个
起步期,在此期间,要学习和逐步型成知识库/文档库/经验库,这时你才能享用这个平台最初的各种优点。
var Cc = Components.classes;就是一个很好的例子。
- XUL程序中访问文件,非常简单,非常痛苦
- 非常简单的分词程序
- 非常痛苦无法显示Sprite控件到FLEX UI中
- 非常简单PHP缩略图生成程序源代码
- 非常简单PHP缩略图生成程序源代码
- 非常简单的SQLite的Java程序
- 非常简单的UDP通信程序,C#
- 用Node写网络服务程序非常简单
- 非常简单的Socket聊天程序
- 非常简单的2个步骤,在linux下创建虚拟内存,提升文件访问速度
- 一个非常简单的文件加密函数
- C#中使用MD5非常简单
- 昨天才会用VS2005制作一个非常非常简单的程序,有点晕啊!还是不会呢!
- ajax非常简单的
- 非常简单的命令
- URLLoader非常简单封装
- 非常简单Jsoup爬虫
- 非常简单封装Okhttp
- OReilly.Google.Apps.The.Missing.Manual.May.2008.eBook-BBL
- OReilly.Google.Apps.The.Missing.Manual.May.2008.eBook-BBL
- 2008-5-30
- 让人不知所以的IE(The Puzzled IE)
- 如何用VB获得Windows各类系统目录
- XUL程序中访问文件,非常简单,非常痛苦
- 论文初稿出炉
- Invalidate()与UpdateAllViews()的区别(转载)
- 利用ibatis的自定义类型解决中文乱码问题
- 删除了最后的痕迹
- 山重水复疑无路,柳暗花明又一村。---找工作感想
- Talking About Visual C++
- jProxy-打造最及时的免费代理服务器库
- java 程序习惯