19

ファイルを 1 行ずつ読み取るために JavaScript を使用したことがないので、phantomjs は私にとってまったく新しい球技です。ファントムに read() 関数があることは知っていますが、データを変数に格納した後にデータを操作する方法が完全にはわかりません。私の疑似コードは次のようなものです:

filedata = read('test.txt');
newdata = split(filedata, "\n");
foreach(newdata as nd) {

  //do stuff here with the line

}

誰かが実際のコード構文で私を助けてくれれば、phantomjsが典型的なjavascriptを受け入れるかどうか、または何を受け入れるかについて少し混乱しています.

4

3 に答える 3

28

私は JavaScript や PhantomJS の専門家ではありませんが、次のコードでうまくいきます。

/*jslint indent: 4*/
/*globals document, phantom*/
'use strict';

var fs = require('fs'),
    system = require('system');

if (system.args.length < 2) {
    console.log("Usage: readFile.js FILE");
    phantom.exit(1);
}

var content = '',
    f = null,
    lines = null,
    eol = system.os.name == 'windows' ? "\r\n" : "\n";

try {
    f = fs.open(system.args[1], "r");
    content = f.read();
} catch (e) {
    console.log(e);
}

if (f) {
    f.close();
}

if (content) {
    lines = content.split(eol);
    for (var i = 0, len = lines.length; i < len; i++) {
        console.log(lines[i]);
    }
}

phantom.exit();
于 2012-08-01T08:15:53.017 に答える
22
var fs = require('fs');
var file_h = fs.open('rim_details.csv', 'r');
var line = file_h.readLine();

while(line) {
    console.log(line);
    line = file_h.readLine(); 
}

file_h.close();
于 2013-06-23T18:54:42.307 に答える