ЛР / laba_java(3)
.docxФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»
Факультет информационных систем и технологий
Кафедра безопасности информационных систем
ОТЧЕТ
по практике №3
по дисциплине «Кросс-платформенное программирование»,
по теме: «Разработка Java-приложения для получения сведений о файлах и реализации файлового ввода-вывода».
|
Выполнили студенты группы ИСТ-223: Хакова Ю. М. Коваленко А. А.
|
|
|
|
|
|
Принял: Бородянский Ю. М. |
|
|
(подпись) |
|
|
|
|
|
|
|
Цель работы :
Получить практические навыки создания Java-приложения для получения сведений о файлах и реализации файлового ввода-вывода, совершенствование приёмов программирования на языке Java.
Задание. Разработать приложение «файловый менеджер». Приложение должно иметь простой интерфейс и осуществлять все основные функции файловых менеджеров:
- постоянное отображение адресной строки;
- выбор нужного каталога в файловом дереве;
- вывод содержимого каталога;
- перемещение по уровням вложенности каталогов;
- вывод свойств выбранного файла;
- удаление выбранного файла;
- чтение содержимого файла путем запуска программы notepad.exe;
- создание простого текстового файла и запись его на диск;
- создание нового каталога.
Вывод:
Практическое применение данной программы может реализовываться в сфере анализа данных или обработки информации, быть использованным для управления файлами и каталогами, например, для чтения, записи и удаления файлов, создания каталогов и т. д., Тестировщики могут использовать этот код для создания среды тестирования, в которой они могут манипулировать файлами и каталогами, чтобы проверить правильность работы приложения в различных сценариях.
Приложение 1.
Листинг кода:
import java.io.File;
import java.util.Scanner;
public class lab31 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Введите нужный каталог:");
String currentDir = scanner.nextLine();
File cDir = new File(currentDir);
String dir = cDir.getAbsolutePath();
do {
System.out.println("Текущий каталог: " + dir);
System.out.println("Выберите действие:");
System.out.println("1. Вывести содержимое текущего каталога");
System.out.println("2. Перейти в другой каталог");
System.out.println("3. Вывести свойства файла");
System.out.println("4. Удалить файл");
System.out.println("5. Прочитать содержимое файла");
System.out.println("6. Создать новый текстовый файл");
System.out.println("7. Создать новый каталог");
System.out.println("0. Выйти из программы");
int choice = scanner.nextInt();
scanner.nextLine();
switch (choice) {
case 1:
filesGet(dir);
break;
case 2:
dir = changeDirectory(dir);
break;
case 3:
fileProperties();
break;
case 4:
deleteFile();
break;
case 5:
readtext();
break;
case 6:
createTextFile();
break;
case 7:
createDir();
break;
case 0:
System.out.println("Программа завершена");
System.exit(0);
default:
System.out.println("Неверный выбор");
}
} while (true);
}
public static void filesGet(String dir) {
File dir1 = new File(dir);
if (dir1.isDirectory()) {
for (File item : dir1.listFiles()) {
if (item.isDirectory()) {
System.out.println(item.getName() + "\tкаталог");
} else {
System.out.println(item.getName() + "\tфайл");
}
}
}
}
private static String changeDirectory(String dir) {
Scanner scanner = new Scanner(System.in);
System.out.println("Введите новый путь к каталогу:");
String newPath = scanner.nextLine();
File newDir = new File(newPath);
if (newDir.isDirectory()) {
return newDir.getAbsolutePath();
} else {
System.out.println("Неверный путь к каталогу");
return dir;
}
}
public static void fileProperties() {
Scanner scanner = new Scanner(System.in);
System.out.println("Введите путь к файлу:");
String fileName = scanner.nextLine();
File fileP = new File(fileName);
if (fileP.exists()) {
System.out.println("Имя файла: " + fileP.getName());
System.out.println("Путь: " + fileP.getPath());
System.out.println("Размер файла: " + fileP.length() + " байт");
System.out.println("Последнее изменение в файле: " + fileP.lastModified());
} else {
System.out.println("Файл не найден.");
}
}
private static void deleteFile() {
Scanner scanner = new Scanner(System.in);
System.out.println("Введите путь к файлу:");
String fileName = scanner.nextLine();
File fileD = new File(fileName);
if (fileD.exists()) {
if (fileD.delete()) {
System.out.println("Файл удален.");
} else {
System.out.println("Не удалось удалить файл.");
}
} else {
System.out.println("Файл не найден.");
}
}
public static void readtext() {
Scanner scanner = new Scanner(System.in);
System.out.println("Введите путь к файлу:");
String filePath = scanner.nextLine();
ProcessBuilder processBuilder = new ProcessBuilder("notepad.exe", filePath);
try {
processBuilder.start();
} catch (Exception e) {
System.out.println("Ошибка при запуске Notepad");
}
}
private static void createTextFile() {
System.out.print("Введите имя нового файла: ");
Scanner scanner = new Scanner(System.in);
String fileName = scanner.nextLine();
try {
File file = new File(fileName);
if (file.createNewFile()) {
System.out.println("Файл успешно создан: " + file.getAbsolutePath());
} else {
System.out.println("Файл уже существует");
}
} catch (Exception e) {
System.out.println("Ошибка при создании файла");
}
}
private static void createDir() {
System.out.print("Введите имя нового каталога: ");
Scanner scanner = new Scanner(System.in);
String dirName = scanner.nextLine();
try {
File directory = new File(dirName);
if (directory.mkdir()) {
System.out.println("Каталог успешно создан: " + directory.getAbsolutePath());
} else {
System.out.println("Каталог уже существует.");
}
} catch (Exception e) {
System.out.println("Ошибка при создании каталога.");
}
}
}
Санкт-Петербург, 2024
