Скачиваний:
0
Добавлен:
07.06.2026
Размер:
32.73 Кб
Скачать

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»

Факультет информационных систем и технологий

Кафедра безопасности информационных систем

ОТЧЕТ

по практике №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

Соседние файлы в папке ЛР