Как создать файл ISO-образа CD из командной строки окон?

NullPointerException s - исключения, возникающие при попытке использовать ссылку, которая указывает на отсутствие местоположения в памяти (null), как если бы она ссылалась на объект. Вызов метода по нулевой ссылке или попытка получить доступ к полю нулевой ссылки вызовет функцию NullPointerException. Они наиболее распространены, но другие способы перечислены на странице NullPointerException javadoc.

Вероятно, самый быстрый пример кода, который я мог бы придумать для иллюстрации NullPointerException, be:

public class Example {

    public static void main(String[] args) {
        Object obj = null;
        obj.hashCode();
    }

}

В первой строке внутри main я явно устанавливаю ссылку Object obj равной null. Это означает, что у меня есть ссылка, но она не указывает на какой-либо объект. После этого я пытаюсь обработать ссылку так, как если бы она указывала на объект, вызывая метод на нем. Это приводит к NullPointerException, потому что нет кода для выполнения в местоположении, на которое указывает ссылка.

(Это техничность, но я думаю, что она упоминает: ссылка, которая указывает на null, равна 't то же, что и указатель C, указывающий на недопустимую ячейку памяти. Нулевой указатель буквально не указывает на в любом месте , который отличается от указаний на местоположение, которое оказывается недопустимым.)

27
задан Taryn 11 May 2012 в 11:38
поделиться

7 ответов

Попробуйте mkisofs. Это - часть проект cdrecord.

17
ответ дан Andrew 28 November 2019 в 04:49
поделиться

Явный разъем, но я только что выпустил альфа-версию библиотеки OpenSource C#, которая может создать файлы ISO. Непосредственно не интегрируется с Nant, но Вы могли обернуть библиотеку для достижения этого. Существует демонстрационное приложение (ISOCreate), который создает ISOs из структуры каталогов, но этот образец мог также запустить Вас:

CDBuilder builder = new CDBuilder();
builder.UseJoliet = true;
builder.VolumeIdentifier = "A_SAMPLE_DISK";
builder.AddFile(@"Folder\Hello.txt", Encoding.ASCII.GetBytes("Hello World!"));
builder.Build(@"C:\temp\sample.iso");

.NET DiscUtils (на GitHub)

12
ответ дан frankhommers 28 November 2019 в 04:49
поделиться

Получите Загрузку mkisofs это здесь , это - часть Cdrtools. Доступный для большинства платформ. Примеры Useage:

mkisofs -v -dvd-video -V "VOLUME_NAME" -o "c:\my movies\iso\movie.iso" "c:\my movies\dvd"
mkisofs -r -R -J -l -L -o image-file.iso c:\project\install
11
ответ дан evandrix 28 November 2019 в 04:49
поделиться

Если Вы хотите быть захватывающей Microsoft (не, устанавливают дополнительное программное обеспечение). Можно использовать IMAPI, встроить в Windows для записи изображений. Дополнительная информация относительно сценариев IMAPI может быть найдена в MSDN

5
ответ дан Tamir 28 November 2019 в 04:49
поделиться

Я использовал magiciso, но не протестировал его extensivly. (Я могу попробовать некоторых из других упомянутых здесь после некоторого тестирования), я сначала делаю установщик (единственный файл) тогда просто делают это ISO.

http://www.magiciso.com/

Вот результат моей борьбы получить эту работу в Python:

add_option = '-a'
add_option_value = installer_fullpath
response_option = '-py' # answer yes to all options 


# Get the tempfile name -- to resolve long name issue
# --> My file names were initially too long for MagicIso and it would choke
f_handle = tempfile.TemporaryFile(suffix='.iso', prefix='mi_', dir='.')
temp_filename = f_handle.name
f_handle.close() # File automatically deleted on close                                

args = (magiciso_exe_fullpath,temp_filename,response_option,add_option,add_option_value)

# log output to file
magiciso_con_f = open(MAGICISO_CON_LOG,'w')

magiciso_process = subprocess.Popen(args,stdout=magiciso_con_f,stderr=magiciso_con_f)
magiciso_process.wait()
2
ответ дан monkut 28 November 2019 в 04:49
поделиться

Я использую mkisofs.exe от инсталляционного пакета nLite или BartPE, от того, где я также изучил обязательные параметры для создания загрузочного CD.

1
ответ дан alexandrul 28 November 2019 в 04:49
поделиться

Создание простого CD ISO

Я нашел значительно более простой подход, и он не требует Cygwin: CDBurnerXP

На самом деле он не рекламируется на сайте, но он включает версию для командной строки, например cdbxpcmd.exe . Также имеется некоторая документация по параметрам командной строки .

Особый интерес представляют параметры -iso и -формат ; использовал что-то вроде:

cdbxpcmd --burn-data -folder:input -iso:output.iso -format:iso -changefiledates

для создания ISO с именем output.iso из файлов в папке input


Создание загрузочного ISO

Инструмент командной строки не делает ' Похоже, что вы можете напрямую создать загрузочный компакт-диск. Однако, если вы знаете, что ваш список файлов не изменится (то есть только содержимое этих файлов), вы можете попробовать следующее (не проверено):

  • Загрузить версию графического интерфейса пользователя CDBurnerXP
  • Добавить файлы в интерактивном режиме
  • Выберите Диск-> Параметры записи ...
  • Настройте загрузочный образ
  • Выберите Файл-> Сохранить, чтобы создать файл DXP (который является форматом компиляции CDBurnerXP)

Затем вы можете использовать следующее command

cdbxpcmd --burn-data -layout:mycompilation.dxp -iso:output.iso -format:iso
11
ответ дан 28 November 2019 в 04:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: