JavaRush /Java блог /Архив info.javarush /Последний этап программы. Исполняемый файл.
Trifan
18 уровень
Москва

Последний этап программы. Исполняемый файл.

Статья из группы Архив info.javarush
Доброго времени суток! Подскажите пожалуйста кто что может) Написал код программы, у которой на входе изображение (JPEG или PNG). Она определяет формат и создает объект нужного класса. Набор изображений есть. Вопрос 1: Как создать jar файл в котором уже заархивированы все эти изображения? Вопрос 2: Поскольку программа будет работать только если файлы находятся в тех директориях, которые я указал, подскажите как переписать ее чтобы она считывала из своего архива(в том смысле чтобы не зависело от того где располагаются изображения. вот код: import java.io.*; import java.util.Random; public class Analizator { public static void main(String[] args)throws IOException { Random random = new Random(); File TrainData = new File("C:\\Users\\nhbafy\\Desktop\\TrainData"); String[] list = TrainData.list(); String name_catalog=list[random.nextInt(2)]; File randomCatalog = new File("C:\\Users\\nhbafy\\Desktop\\TrainData"+"\\"+name_catalog); String[] list2=randomCatalog.list(); File randomFile = new File("C:\\Users\\nhbafy\\Desktop\\TrainData"+"\\"+name_catalog+"\\"+list2[random.nextInt(list.length)]); getImageReaderByHeader(randomFile); } public static Object getImageReaderByHeader(File file) throws IOException { byte[] header = new byte[10]; new DataInputStream(new FileInputStream(file)).read(header); String h = new String(header).trim(); if (h.contains("PNG")) { return new PNG(); } else return new JPEG(); } } Вроде получилось создать Jar но при открытии файла на 0.1 секунды открывается консоль и на этом все.
Комментарии (1)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Izhak Уровень 22
13 марта 2015
Ближе к окончанию топика есть руководство по созданию jar.
info.javarush.ru/Izhak/2014/08/14/Замыкаем-контакты-и-получаем-письмо.html

Чтобы окно не пропадало — вы должны ждать ввода данных, иначе программа будет считать, что она полностью выполнила все действия и готова перестать работать.