Я пытаюсь сохранить файл .txt, где пользователь выбирает использование JFileChooser.Как вызвать метод, который принимает строку?
У меня есть 3 метода
Вещь 1 получает путь к файлу и сохраняет его в строку под названием File1.
Для этой цели Thing 2 требуется эта строка, чтобы сохранить файл в нужном месте.
Однако, когда я запускаю thing2 в GUI ActionPerformed, он дает мне ошибку, так как требует передачи строки. Я передаю «String File1», но он не работает.
thing1
JFileChooser chooser;
String choosertitle = null;
String File1 = null;
chooser = new JFileChooser();
chooser.setCurrentDirectory(new java.io.File("."));
chooser.setDialogTitle(choosertitle);
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
chooser.setAcceptAllFileFilterUsed(true);
if (chooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) { File1 = chooser.getCurrentDirectory() + "";
}
else {
JOptionPane.showMessageDialog(null,"No Selection ");
}
fileTextField.setText(File1);
return File1;
вещь 2
String nameOfFile = ("");
String choice = comboBox.getSelectedItem() + "";
JOptionPane.showMessageDialog(null,File1);
if ("All Messages".equals(choice)){
nameOfFile = ("Messages");
} else if
("All Email Address".equals(choice)){
nameOfFile = ("Address Book");
}
File f = new File (File1 + nameOfFile+ ".txt");
FileWriter fw;
try {
fw = new FileWriter(f);
fw.write("This is a file created by Joe ");
fw.close();
} catch (IOException ex) {
Logger.getLogger(Export.class.getName()).log(Level.SEVERE, null, ex);
}
boolean allFieldsCheck = !choice.equals("Please Select What You Would Like To Export") && !fileTextField.equals("");
if (allFieldsCheck == false) {
InputError ipe = new InputError();
ipe.setVisible(true);
} else {
//add new message
}
ActionPerformed
private void exportButtonActionPerformed(java.awt.event.ActionEvent evt) {
thing2(String File1);
}
все я хочу код выше, чтобы сделать, это получить место, где пользователь хочет сохранить файл а затем сохраните его там.
Любая помощь будет признателен, как я новичок в этом
'thing2 (String File1);' означает 'передать новую неопределенную строку с именем 'File1'. Если 'File1' уже определен, просто перейдите в' File1' вместо 'String File1'. Подпись метода обрабатывает тип аргумента, а не вызывающего. Кроме того, вы должны более подробно описать актуальную проблему. «не работает» не является проблемой. Вы также должны показать фактические сигнатуры методов, а не только содержание методов. – tnw
Собственно, 'thing2 (String File1);' на самом деле ничего не значит, это просто синтаксическая ошибка. В фактических аргументах метода могут появляться только выражения (включая переменные), а не имена типов. –