JavaScriptを使用してファイルを1行ずつ読み取ることは一度もありません。また、phantomjsは私にとってまったく新しいボールゲームです。ファントムにread()関数があることは知っていますが、変数に格納した後のデータの操作方法が完全にはわかりません。私の擬似コードは次のようなものです。
filedata = read('test.txt');
newdata = split(filedata, "\n");
foreach(newdata as nd) {
//do stuff here with the line
}
誰かが実際のコード構文を手伝ってくれるとしたら、phantomjsが典型的なjavascriptを受け入れるかどうか、または何を受け入れるかについて少し混乱しています。
私は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();
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();
手遅れですが、これが私が試し、機能していることです。
var fs = require('fs'),
filedata = fs.read('test.txt'), // read the file into a single string
arrdata = filedata.split(/[\r\n]/); // split the string on newline and store in array
// iterate through array
for(var i=0; i < arrdata.length; i++) {
// show each line
console.log("** " + arrdata[i]);
//do stuff here with the line
}
phantom.exit();