Лабораторная работа №4 Java - программирование
.docxМИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ КЫРГЫЗСКОЙ РЕСПУБЛИКИ
КЫРГЫЗСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ ИМ. И. РАЗЗАКОВА
Лабораторная работа
Бишкек 2020
Лабораторная работа №4
Вариант№5
Создать текстовый файл, содержащий сведения о дисциплинах: название дисциплины, курс, кафедра, Ф.И.О. преподавателя, форма отчетности(экзамен/зачет). Затем информацию о дисциплинах, относящихся к разным формам отчетности, переписать в отдельные файлы.
Код:
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());
}
Фото:
Открыть файл с числами, записанными в столбик. Вытащить квадратные корни
чисел, содержащихся в файле, округлив до трех знаков после запятой и перезаписать
полученные результаты в исходный файл.
Код:
Фото:
Скопировать данные из файла из первого задания в новый файл. Посчитать
количество символов и дописать в него: «Количество символов: ».
Код:
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);
}
Фото:
С клавиатуры вводятся числа. Дописать в файл из второго задания эти числа.
Вывести на экран результаты до и после записи.
Код:
Фото:
С клавиатуры вводится название файла. Напишите программу, которая будет
проверять есть ли файл, название которого совпадает с введенным с клавиатуры.
Код:
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() + "В доступе отказано");
} } } }
Фото: