Потоки ввода - вывода. Задания

1. Класс FileCopy

Переписать класс FileCopy:

package io;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class FileCopy {
    public static void main(String[] args) throws IOException {
        FileInputStream fileIn = null;
        FileOutputStream fileOut = null;

        try {
            fileIn = new FileInputStream("src\\io\\file.txt");
            fileOut = new FileOutputStream("src\\io\\copied_file.txt");

            int a;
            while ((a = fileIn.read()) != -1) {
                fileOut.write(a);
            }
        } finally {
            if (fileIn != null) {
                fileIn.close();
            }
            if (fileOut != null) {
                fileOut.close();
            }
        }
    }
}
  1. Добавить блок try-with-resources.
  2. Добавить catch блок для обработки IOException.

2. Класс FileInputOutputStreamDemo

Переписать класс FileInputOutputStreamDemo:

package io;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.IOException;

public class FileInputOutputStreamDemo {
    public static void main(String[] args) {
        try {
            char[] symbols = {'a', 'b', 'c'};
            OutputStream output = new FileOutputStream("a.txt");
            for (int i = 0; i < symbols.length; i++) {
                // Запись каждого символа в текстовый файл
                output.write(symbols[i]);
            }
            output.close();

            InputStream input = new FileInputStream("a.txt");
            int size = input.available();

            for (int i = 0; i < size; i++) {
                // Чтение текстового файла посимвольно
                System.out.print((char) input.read() + " ");
            }
            input.close();
        } catch (IOException e) {
            System.out.print("Exception");
        }
    }
}
  1. Добавить блок try-with-resources
  2. Замените for (int i = 0; i < c.length; i++)на блок for-each.
  3. Пусть file.txt записывается в каталог src/io.

3. Копирование файла в другой файл

  1. Написать класс, который копирует содержимое из одного файла в другой.
  2. Используем классы BufferedReader, FileReader, BufferedWriter, FileWriter.

4. Отчет о сотрудниках, часть 3

Часть 1, часть 2.

  1. Добавить метод в класс Employee, который будет записывать отчет в файл.
  2. Используем класс PrintWriter

5. Список каталога

  1. Написать метод который циклически просматривает содержимое заданного каталога и выводит на печать информацию о всех файлах и каталогах, находящихся в нем и в его подкаталогах.
  2. Используем рекурсию.

6. Интернет магазин, часть 7

Часть 1часть 2часть 3часть 4часть 5, часть 6.

  1. После покупки, записать отчет в файл, содержащий информацию о содержимом корзины.
  2. Используем класс PrintWriter для записи и форматирования отчета.
Read also:
Trustpilot
Trustpilot
Comments
FatBoy
Feb 1, 2023
Решение к Задаче №2 https://www.online-java.com/aA8tU4hE16
FatBoy
Feb 1, 2023
Решение к Задаче №3, не уверен, что такое, но в целом очень даже подходит https://www.online-java.com/GLmAlNDUjM