Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторная работа №4 Java - программирование

.docx
Скачиваний:
23
Добавлен:
29.12.2020
Размер:
151.79 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ КЫРГЫЗСКОЙ РЕСПУБЛИКИ

КЫРГЫЗСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ

УНИВЕРСИТЕТ ИМ. И. РАЗЗАКОВА

Лабораторная работа

Бишкек 2020

Лабораторная работа №4

Вариант№5

  1. Создать текстовый файл, содержащий сведения о дисциплинах: название дисциплины, курс, кафедра, Ф.И.О. преподавателя, форма отчетности(экзамен/зачет). Затем информацию о дисциплинах, относящихся к разным формам отчетности, переписать в отдельные файлы.

Код:

try(FileWriter writer = new FileWriter("school.txt", false))

{

String discipline = "Дисциплина: Математика";

String course = "Курс: 2 курс";

String kafedra = "Кафедра: ФИТ";

String Name = "Ф.И.О. преподавателя: Марь Иванова";

String rating = "Форма отчетности: Экзамен";

writer.write(discipline);

writer.append('\n');

writer.write(course);

writer.append('\n');

writer.write(kafedra);

writer.append('\n');

writer.write(Name);

writer.append('\n');

writer.write(rating);

writer.append('\n');

writer.flush();

}

catch(IOException ex){

System.out.println(ex.getMessage());

}

try(FileWriter writer = new FileWriter("school2.txt", false))

{

String discipline = "Дисциплина: Математика";

writer.write(discipline);

writer.flush();

}

catch(IOException ex){

System.out.println(ex.getMessage());

}

Фото:

  1. Открыть файл с числами, записанными в столбик. Вытащить квадратные корни

чисел, содержащихся в файле, округлив до трех знаков после запятой и перезаписать

полученные результаты в исходный файл.

Код:

Фото:

  1. Скопировать данные из файла из первого задания в новый файл. Посчитать

количество символов и дописать в него: «Количество символов: ».

Код:

FileWriter Text = new FileWriter("first.txt");

Text.write("я учусь в политехе");

Text.close();

FileReader reader = new FileReader("first.txt");

char[] buf = new char[256];

int c;

while((c = reader.read(buf))>0){

if(c < 256){

buf = Arrays.copyOf(buf, c);

}

System.out.print("Количество символов: "+buf.length);

}

Фото:

  1. С клавиатуры вводятся числа. Дописать в файл из второго задания эти числа.

Вывести на экран результаты до и после записи.

Код:

Фото:

  1. С клавиатуры вводится название файла. Напишите программу, которая будет

проверять есть ли файл, название которого совпадает с введенным с клавиатуры.

Код:

private String fileNameToSearch;

private List<String> result = new ArrayList<String>();

public String getFileNameToSearch() {

return fileNameToSearch;}

public void setFileNameToSearch(String fileNameToSearch) {

this.fileNameToSearch = fileNameToSearch; }

public List<String> getResult() {

return result;}

public static void main(String[]args) {

Lab1 fileSearch = new Lab1();

Scanner in = new Scanner(System.in);

System.out.print("Введите название файла целиком: ");

String name = in.nextLine();

fileSearch.searchDirectory(new File("E:\\Рабочий стол\\similar"), name );

int count = fileSearch.getResult().size();

if(count ==0){

System.out.println("\nНе найдено!");

}else{

System.out.println("\nНайден " + count + " файл!\n");

for (String matched : fileSearch.getResult()){

System.out.println("Найдено : " + matched); } }}

public void searchDirectory(File directory, String fileNameToSearch) {

setFileNameToSearch(fileNameToSearch);

if (directory.isDirectory()) {

search(directory);

} else {

System.out.println(directory.getAbsoluteFile() + " это не каталог!");

}

}

private void search(File file) {

if (file.isDirectory()) {

System.out.println("Где ищем ... " + file.getAbsoluteFile());

if (file.canRead()) {

for (File temp : file.listFiles()) {

if (temp.isDirectory()) {

search(temp);

} else {

if (getFileNameToSearch().equals(temp.getName().toLowerCase())) {

result.add(temp.getAbsoluteFile().toString());

}

}

}

} else {

System.out.println(file.getAbsoluteFile() + "В доступе отказано");

} } } }

Фото: