Итак, я новичок в программировании и только в этом году начал изучать информатику в школе. В одной из своих программ я пытаюсь использовать JFileChooser и JButton, поэтому я просто скопировал некоторый код, который нашел в Интернете, и изменил его, так как я еще не знаю, как использовать try/catch:
JButton button = new JButton("Select File");
button.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
String path;
try {
path = new File(".").getCanonicalPath();
path = path.substring(0, path.length() - 7);
JFileChooser jf = new JFileChooser();
jf.setFileSelectionMode(JFileChooser.FILES_ONLY);
jf.setMultiSelectionEnabled(false);
int returnValue = jf.showOpenDialog(null);
if (returnValue == JFileChooser.APPROVE_OPTION)
{
int n = ptoj.convert(jf.getSelectedFile().getAbsolutePath(), path);
for (int i = 0; i < n; i++)
{
if (i < 10)
{
PictureTester.split(path + "yourFile-0" + i + ".jpg", i);
}
else
{
PictureTester.split(path + "yourFile-" + i + ".jpg", i);
}
}
}
} catch (Exception e1) {
e1.printStackTrace();
}
}
});
j.add(button);
Проблема в том, что когда я запускаю его в Eclipse, он работает отлично, но когда я экспортирую его в файл .jar, программа открывается и вроде бы работает, но когда я пытаюсь нажать кнопку, ничего не происходит. Он не падает или что-то в этом роде, просто ничего не происходит независимо от того, сколько раз я нажимаю кнопку.
Вот код класса, из которого предыдущий код получал метод «конвертировать»:
public class ptoj {
public static int convert(String n, String path) throws Exception{
try (final PDDocument document = PDDocument.load(new File(n))){
PDFRenderer pdfRenderer = new PDFRenderer(document);
for (int page = 0; page < document.getNumberOfPages(); ++page)
{
BufferedImage bim = pdfRenderer.renderImageWithDPI(page, 300, ImageType.RGB);
String fileName;
if (page < 10)
{
fileName = path + "yourFile-0" + page + ".jpg";
}
else
{
fileName = path + "yourFile-" + page + ".jpg";
}
ImageIOUtil.writeImage(bim, fileName, 300);
}
document.close();
return document.getNumberOfPages();
} catch (IOException e){
System.err.println("Exception while trying to create pdf document - " + e);
}
return 0;
}
}
Вы пытались запустить программу в командной строке, чтобы была консоль для сообщений об ошибках? Откройте командную строку в папке с файлом jar и введите: java -jar <JarFilename.jar>
Когда я запускаю его в командной строке, по какой-то причине кнопка работает, и появляется FileChooser, но когда я пытаюсь выбрать файл, командная строка говорит: java.io.FileNotFoundException: C:\UseryourFile-00.jpg (Доступ запрещен )
Кстати, я добавил код для класса, который я использую для преобразования PDF в JPG.
C:\UseryourFile-00.jpg (Доступ запрещен) --- Отсутствует ли разделитель пути (\) после пользователя в этом пути? C:\User\yourFile-00.jpg




Может ли быть так, что ваша банка запускается без разрешений, необходимых для чтения вашей файловой системы?