Processing:Справочник языка Processing/createInput()

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


createInput() [1]

Обозначение

createInput()

Описание

Это метод, используемый продвинутыми программистами для того, чтобы инициализировать и открыть Java-объект InputStream. Он полезен в случаях, когда вам хочется воспользоваться средствами PApplet, чтобы без труда открывать файлы из URL или папки данных, но вам также нужен объект InputStream, позволяющий использовать другие части Java, чтобы иметь больше контроля над чтением потока.

Имя файла может иметь следующие форматы:

  • URL – например, createInput("http://processing.org/")
  • Название файла, расположенного в папке «data» текущего скетча
  • Полный путь к файлу на локальном носителе (когда скетч запущен как приложение)

Если запрошенного файла нет, метод вернет нулевое значение. Если вы не онлайн, этот метод также проверит, правильно ли указан регистр в названии файла, который запрашивает пользователь. Если регистр не тот, в консоли будет напечатана ошибка. Это помогает предотвратить проблемы, которые появляются, когда скетч экспортируется в сеть, где чувствительность к регистру важна – в противовес запуску скетча внутри среды разработки Processing Development Environment (PDE) на Mac OS или Windows, где чувствительность к регистру предусмотрена, но игнорируется.

Если файл заканчивается на *.gz, этот GZIP-архив будет автоматически распакован. Если вам не нужна автоматическая распаковка, используйте метод createInputRaw().

В ранних версиях Processing этот метод назывался openStream().

Синтаксис

createInput(filename)

Параметры

filename  файл, используемый в качестве входных данных. Тип данных  String

Возвращаемое значение

Тип данных  объект InputStream

Пример

// загружаем локальный файл 'data.txt'
// и инициализируем новый объект InputStream:
InputStream input = createInput("data.txt");

String content = "";

try {
  int data = input.read();
  while (data != -1) {
    content += data;
    data = input.read();
  }
}
catch (IOException e) {
  e.printStackTrace();
}
finally {
  try {
    input.close();
  } 
  catch (IOException e) {
    e.printStackTrace();
  }
}

println(content);

См.также

Внешние ссылки