Skip to content

Instantly share code, notes, and snippets.

@okunokentaro
Last active June 28, 2016 16:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save okunokentaro/d49f97a879a23f7cde515c47bb0fb640 to your computer and use it in GitHub Desktop.
Save okunokentaro/d49f97a879a23f7cde515c47bb0fb640 to your computer and use it in GitHub Desktop.
日本語のファイルを読み込んで1行ごとにJSのstringとして出力するJXA
ObjC.import('Foundation');
var app = Application.currentApplication();
app.includeStandardAdditions = true;
var path = app.chooseFile();
var pipe = $.NSPipe.pipe;
var file = pipe.fileHandleForReading; // NSFileHandle
var task = $.NSTask.alloc.init;
task.launchPath = '/bin/cat';
task.arguments = [path.toString()];
task.standardOutput = pipe;
task.launch;
var data = file.readDataToEndOfFile;
file.closeFile;
data = $.NSString.alloc.initWithDataEncoding(data, $.NSUTF8StringEncoding);
var str = ObjC.unwrap(data);
var lines = str.split('\n');
var itunesApp = Application("iTunes");
itunesApp.selection().forEach(function(track, idx) {
track.name = lines[idx];
});
ObjC.import('Foundation');
var app = Application.currentApplication();
app.includeStandardAdditions = true;
var path = app.chooseFile();
var pipe = $.NSPipe.pipe;
var file = pipe.fileHandleForReading; // NSFileHandle
var task = $.NSTask.alloc.init;
task.launchPath = '/bin/cat';
task.arguments = [path.toString()];
task.standardOutput = pipe;
task.launch;
var data = file.readDataToEndOfFile;
file.closeFile;
data = $.NSString.alloc.initWithDataEncoding(data, $.NSUTF8StringEncoding);
var str = ObjC.unwrap(data);
var lines = str.split('\n');
lines.forEach(function(line) {
console.log(line);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment