先贴上短短的代码。。。
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;就是一个很好的例子。