Вы хотите использовать массив process.argv
для доступа к аргументам командной строки, чтобы получить имя файла и модуль FileSystem (fs) , чтобы прочитать файл. Например:
// Make sure we got a filename on the command line.
if (process.argv.length < 3) {
console.log('Usage: node ' + process.argv[1] + ' FILENAME');
process.exit(1);
}
// Read the file and print its contents.
var fs = require('fs')
, filename = process.argv[2];
fs.readFile(filename, 'utf8', function(err, data) {
if (err) throw err;
console.log('OK: ' + filename);
console.log(data)
});
Чтобы немного сломать это для вас, process.argv
обычно имеет длину два, нулевой элемент - интерпретатор «узла», а первый - это скрипт, который в данный момент запущен , элементы после этого были переданы в командной строке. После того, как вы вытащили имя файла из argv, вы можете использовать функции файловой системы для чтения файла и делать все, что хотите, с его содержимым. Пример использования будет выглядеть так:
$ node ./cat.js file.txt
OK: file.txt
This is file.txt!
[Edit] Как упоминает @wtfcoder, использование метода «fs.readFile()
» может быть не лучшей идеей, поскольку оно будет буферизовать все содержимое файла до приведя его к функции обратного вызова. Эта буферизация может потенциально использовать большую часть памяти, но, что более важно, она не использует одну из основных функций node.js - асинхронный, вызываемый ввод / вывод.
Способ «узла» для обработки большой файл (или любой файл, действительно) должен был бы использовать fs.read()
и обрабатывать каждый доступный кусок, поскольку он доступен из операционной системы. Однако чтение файла как такового требует от вас собственного (возможно) инкрементного разбора / обработки файла, и некоторый объем буферизации может быть неизбежным.
Я не выполняю перспективу, но virtualbox должен сделать большую часть установки для Вас - все, что необходимо сделать, присваивают IP-адрес, маску подсети, и (дополнительно) шлюз по умолчанию гостю ОС, и это должно просто работать.
не беспокоятся ни одним из расширенных параметров сети в опциях для VM - они полезны в некоторых ситуациях, но я никогда не должен был использовать их, и я использовал virtualbox в течение нескольких лет теперь.
при регистрации определенной проблемы Вы имеете, возможно, я могу помочь больше. Но Ваш вопрос довольно неопределенен...
Вы можете сделать это на хосте Linux. Я описал шаги, которые я предпринял в Ubuntu 9.04 здесь .
Необходимо установить объект краски на FILL
Paint paint = new Paint();
paint.setStyle(Paint.Style.FILL);
Затем можно нарисовать все, что хотите, и он будет заполнен.
canvas.drawCircle(20, 20, 15, paint);
canvas.drawRectangle(60, 20, 15, paint);
и т.д.
Для создания более сложных фигур необходимо использовать объект PATH .
-121--1045887-Еще одно не очень хорошее решение :
Можно поместить файлы конфигурации в различные «необязательные группы» и загрузить определенную конфигурацию вручную с помощью StartDeployment.DownloadFileGroup . Но, что касается меня, это не идеальное решение.
-121--4028839-Предоставьте гостю два сетевых адаптера, один NAT и другой - только хост. NAT-1 позволяет гостю видеть Интернет, а хост-компьютер - только гостя.
Один из них также позволяет гостю увидеть хост. Я не знаю, что, но я знаю, что это работает с тех пор, как я протестировал веб-сервер. Вы просто должны выбрать правильный IP-адрес, 10.x.x.x или 192.168.x.x.
Кроме того, возможно, вам придется с осторожностью относиться к тому, чтобы общий доступ к файлам и принтерам выполнялся на обоих адаптерах одновременно, поскольку гость увидит свое имя и конфликтует с самим собой. Я столкнулся с этим во время установки.
У меня есть ответ получше, чем первый.
Дайте гостю один сетевой адаптер только для хоста, и включите на хосте функцию Internet Connection Sharing (ICS). Я пробовал это на хосте Windows XP с гостем Windows XP.
Гость может подключиться к Интернету.
Гость может подключаться к хосту по адресу 192.168.0.1 (выбранному ICS). -- Не забудьте разрешить гостю проходить через брандмауэр узла.
Узел может подключаться к гостю по адресу 192.168.0.22 (назначенному службой DHCP, предоставляемой ICS).