Мое назначение - написать программу, которая копирует существующий файл в новый файл. Программа запрашивает у пользователя имя существующего файла, а затем запрашивает имя нового файла (для создания копии существующего). должны быть представленыСоздать новый файл - варианты исключений?
Если файл уже существует, 3 варианта: 1. Выход из программы 2. Заменить существующий файл 3. Введите новое имя файла
В моей папке проекта, у меня есть два файла old.txt и new.txt. Когда я ввожу их, он не указывает, что файл уже существует, он просто просто перезаписывает существующий файл new.txt. Вот мой код:
existingFile = JOptionPane.showInputDialog("Enter the name of the "
+ "existing file: ");
try
{
file = new File(existingFile);
inputFile1 = new Scanner(file);
}
catch (FileNotFoundException e)
{
JOptionPane.showMessageDialog(null, existingFile +
" does not exist. Exiting program.");
System.exit(0);
}
newFile = JOptionPane.showInputDialog("Enter the name of the "
+ "new file: ");
try
{
file2 = new File(newFile);
createFile = file2.createNewFile();
JOptionPane.showMessageDialog(null, "Copying " + existingFile +
" into " + newFile);
}
catch (FileAlreadyExistsException e)
{
JOptionPane.showMessageDialog(null, newFile + " already exists.");
System.out.println("Choose from the following choices:");
System.out.println("1. Exit the program");
System.out.println("2. Overwrite the existing file");
System.out.println("3. Enter a new name for the file");
}
catch (IOException e){
JOptionPane.showMessageDialog(null, "Something");
}
Можете ли вы сказать мне, почему я не получаю исключения? Благодарю.
То же самое с 'new File()'. Он не бросает 'FileNotFoundException'. ИМО, использующий исключения для функциональности, является плохим дизайном. 'if' заявления лучше. Например, файл # exists() 'должен использоваться. – 4castle
@ 4castle: Но «Сканер» выдаст исключение. – Thilo
Понял, спасибо. – Steve