首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Adobe AIR readLine

Adobe AIR readLine
EN

Stack Overflow用户
提问于 2010-12-07 05:47:22
回答 1查看 397关注 0票数 1

我需要一次处理一行文本文件。在BASIC中,我可以使用readline命令,该命令将一直读到下一个回车符/换行符。如何在AIR中编写一个每次一行遍历文件的函数?

代码语言:javascript
复制
var myDir = air.File.documentsDirectory;
var myFile = myDir.resolvePath("Test.txt");
if (myFile.exists) {
    var myFileStream = new air.FileStream(); 
    myFileStream.open(myFile, air.FileMode.READ);
    var myByteArray = new air.ByteArray();
    myFileStream.readBytes(myByteArray,0,myFileStream.bytesAvailable);
    air.Introspector.Console.log(myByteArray.length);
} else {
    alert ('File not found.');
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-12-08 22:56:42

代码语言:javascript
复制
var LineNumber;
var ItemCode;
var OrderCode;
var Qty;

var myDir = air.File.documentsDirectory;
var myFile = myDir.resolvePath("Test.txt");
if (myFile.exists) {
    var myFileStream = new air.FileStream(); 
    myFileStream.open(myFile, air.FileMode.READ);
    var myData = new air.ByteArray();
    myFileStream.readBytes(myData,0,myFileStream.bytesAvailable);
    var str = myData.toString();
    var Pos = 0;
    var Tab = 0;
    var CRLF = 0;
    EOL = str.indexOf("\r",Pos);
    while (EOL > 0) {
        Tab = str.indexOf('\t',Pos);
        LineNumber = str.substring(Pos,Tab);
        Pos = Tab + 1;
        Tab = str.indexOf('\t',Pos);
        ItemCode = str.substring(Pos,Tab);
        Pos = Tab + 1;
        Tab = str.indexOf('\t',Pos);
        OrderCode = str.substring(Pos,Tab);
        Pos = Tab + 1;
        CRLF = str.indexOf('\r',Pos);
        Qty = str.substring(Pos,CRLF);
        Pos = EOL+1;
        EOL = str.indexOf("\r",Pos);

    }

} else {
    alert ('File not found.');
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4371266

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档