Главная страница
Навигация по странице:

  • Что записано в файле notes.txt в результате работы

  • Укажите

  • Исключает

  • 33 Java. Потоки ввода-вывода. Работа с файлами. Белорусский государственный экономический университет кафедра экономической информатики


    Скачать 1.6 Mb.
    НазваниеБелорусский государственный экономический университет кафедра экономической информатики
    Дата06.01.2023
    Размер1.6 Mb.
    Формат файлаdocx
    Имя файла33 Java. Потоки ввода-вывода. Работа с файлами.docx
    ТипЛитература
    #874813
    страница13 из 13
    1   ...   5   6   7   8   9   10   11   12   13

    Замечание о работе с ZIP-архивами


    Кроме общего функционала для работы с файлами Java предоставляет функциональность для работы с таким видом файлов как zip-архивы. Для этого в пакете java.util.zip определены два класса - ZipInputStream и ZipOutputStream.
    Замечание.

    Обойтисьвданномслучаеонлайн-интегрированнымисредаминеполучиться.
    Для создания архива используется класс ZipOutputStream. Для создания объекта ZipOutputStream в его конструктор передается поток вывода.

    Для чтения архивов применяется класс ZipInputStream. В конструкторе он принимает поток ввода, указывающий на zip-архив. И затем в цикле необходимо вывести все файлы, которые находятся в данном архиве.

    Более подробно с процессов добавления и/или извлечения файлов из архива можно ознакомиться на сайте METANIT.COM (https://metanit.com/java/tutorial/6.12.php).

    Вопросы к тесту

    1. Выберите верные утверждения для потоков ввода-вывода:


      • поток ввода-вывода - это абстракция, которая используется для чтения или записи информации;

      • поток ввода-вывода всегда связан с реальным физическим устройством;

      • может быть определен поток, который связан с файлом для чтения или записи информации;

      • объект, из которого можно считать данные, называется потоком ввода;

      • объект, в который можно записывать данные - потоком вывода;



    1. Выберите абстрактные суперклассы управляющие потоком ввода-вывода:


      • InputStream;

      • OutputStream;

      • Reader;

      • Writer;

      • FileOutputStream;

      • FileInputStream;

      • FileReader;

      • FileWriter;



    1. Имя метода закрывающего поток?

    • close()



    1. Что записано в файле notes.txt в результате работы программы?

    import java.io.*; public class Main

    {

    public static void main(String[] args) { String text = "Hello world!"; try(FileOutputStream fos =

    new FileOutputStream("notes.txt")) { byte[] buffer = text.getBytes(); fos.write(buffer, 0, buffer.length);

    }

    catch(IOException ex){ System.out.println(ex.getMessage());

    }

    }

    }

    1. Что записано в файле notes.txt в результате работы программы?


    import java.io.*; public class Main

    {

    public static void main(String[] args) { String text = "Hello world!"; try(FileOutputStream fos =

    new FileOutputStream("notes.txt")) { byte[] buffer = text.getBytes(); fos.write(buffer, 6, 1);

    }

    catch(IOException ex){ System.out.println(ex.getMessage());

    }

    }

    }

    1. Что записано в файле notes.txt в результате работы программы?


    import java.io.*; public class Main

    {

    public static void main(String[] args) { String text = "Hello world!"; try(FileOutputStream fos =

    new FileOutputStream("notes.txt")) { byte[] buffer = text.getBytes(); fos.write(buffer[4]);

    }

    catch(IOException ex){ System.out.println(ex.getMessage());

    }

    }

    }


    1. Файл notes.txt содержит фразу "Hello world!" Результат работы программы?

    import java.io.*; public class Main

    {

    public static void main(String[] args) {

    try(FileInputStream fin =

    new FileInputStream("notes.txt")) { String result = " "; System.out.print(fin.available());

    int i = -1;

    while((i = fin.read()) != -1){ result = result + (char) i;

    }

    System.out.print(result);

    }

    catch(IOException ex){ System.out.println(ex.getMessage());

    }

    }

    }


    1. Файл notes.txt содержит фразу "Hello world!" Результат работы программы?

    import java.io.*; public class Main

    {

    public static void main(String[] args) { try(FileInputStream fin =

    new FileInputStream("notes.txt"))

    {

    byte[] buffer = new byte[fin.available()]; fin.read(buffer, 0, fin.available()); for(int i = 0; i < buffer.length; i++){

    System.out.print((char) buffer[i]);

    }

    }

    catch(IOException ex){ System.out.println(ex.getMessage());

    }

    }

    }


    1. Файл notes.txt содержит фразу "Hello world!" Результат работы программы?

    import java.io.*; public class Main

    {

    public static void main(String[] args) { try(FileInputStream fin =

    new FileInputStream("notes.txt")) { byte[] buffer = new byte[fin.available()]; fin.read(buffer, 0, fin.available()); for(int i = 3; i < buffer.length - 2; i++){

    System.out.print((char) buffer[i]);

    }

    }

    catch(IOException ex){ System.out.println(ex.getMessage());

    }

    }

    }


    1. Файл notes.txt содержит фразу "Hello world!" Результат работы программы?

    import java.io.*; import java.util.*; public class Main

    {

    public static void main(String[] args)

    throws IOException {

    Scanner in =

    new Scanner(new FileInputStream("notes.txt")); String s = in.nextLine();

    System.out.print(s); in.close();

    }

    }



    1. Файл notes.txt содержит фразу "Hello world!" Результат работы программы?

    import java.io.*; import java.util.*; public class Main

    {

    public static void main(String[] args)

    throws IOException {

    Scanner in =

    new Scanner(new FileInputStream("notes.txt")); System.out.print(in.nextLine());

    in.close();

    }

    }

    1. Файл notes.txt содержит фразу "Hello world!". Какую информацию содержит файл notes_new.txt после работы программы?


    import java.io.*; public class Main

    {

    public static void main(String[] args) { try(FileInputStream fin =

    new FileInputStream("notes.txt"); FileOutputStream fos =

    new FileOutputStream("notes_new.txt")) { byte[] buffer = new byte[fin.available()]; fin.read(buffer, 0, buffer.length);

    fos.write(buffer, 0, buffer.length);

    }

    catch(IOException ex){ System.out.println(ex.getMessage());

    }

    }

    }

    1. Верно ли утверждение: «Необходимо явно закрыть поток или потоки, открытые в конструкции try-with-resources

    • Да



    1. Укажите конструкцию try-with-resources.

    • try { fin = new FileInputStream("notes.txt");

    //блок try

    }

    • try(FileInputStream fin = new

    FileInputStream("notes.txt")) {

    //блок try

    }

    • try(FileInputStream fin =

    new FileInputStream("notes.txt"); FileOutputStream fos =

    new FileOutputStream("notes_new.txt"))

    {

    //блок try

    }

    1. Сколько ресурсов можно перечислить в конструкции try-with- resources?

    • Неограниченное число





    1. Исключает ли конструкции try-with-resources использование блока catch()?

    • нет



    1. Результат работы программы?


    import java.io.*;

    import java.util.Scanner; public class Main

    {

    public static void main(String[] args) { Scanner scanner =

    new Scanner("раз\nдва\nтри\n"); while (scanner.hasNextLine()) {

    System.out.println(scanner.nextLine());

    }

    scanner.close();

    }

    }

    1. Результат работы программы?


    import java.io.*;

    import java.util.Scanner; public class Main

    {

    public static void main(String[] args) { String init = "раз \n два \n три \n"; Scanner scanner =

    new Scanner(init).useDelimiter("\\s*\n\\s*"); while (scanner.hasNext()) {

    System.out.print(scanner.next() + " ");

    }

    scanner.close();

    }

    }

    1. Результат работы программы?


    import java.io.*;

    import java.util.Scanner; public class Main

    {

    private static void createFile(String str,

    String fileName) throws IOException {

    FileWriter fw = new FileWriter(fileName); fw.write(str);

    fw.close();

    }

    private static String readFile(String fileName) throws

    IOException { FileReader fr = new FileReader(fileName); Scanner scan = new Scanner(fr);

    String str = scan.nextLine(); scan.close();

    fr.close(); return str;

    }

    public static void main(String[] args) throws

    IOException {

    createFile("Привет\n Мир", "file.txt"); String result = readFile("file.txt"); System.out.println(result);

    }

    }

    1. Укажите размер используемого в программе буфера в килобайтах?


    import java.io.*; public class Main

    {

    public static void main(String[] args) { String text = "Buffered: Hello world!"; try(FileOutputStream out =

    new FileOutputStream("notes.txt"); BufferedOutputStream bos =

    new BufferedOutputStream(out))

    {

    byte[] buffer = text.getBytes(); bos.write(buffer, 0, buffer.length);

    }

    catch(IOException ex){ System.out.println(ex.getMessage());

    }

    }

    }

    1. Укажите размер используемого в программе буфера в килобайтах?


    import java.io.*; public class Main

    {

    public static void main(String[] args) { try(FileInputStream fin =

    new FileInputStream("notes.txt"); BufferedInputStream br =

    new BufferedInputStream(fin, 20480))

    {

    System.out.printf("Размер файла: %d байт \n",

    br.available());

    int i = -1;

    while((i = br.read()) != -1){ System.out.print((char) i);

    }

    }

    catch(IOException ex) { System.out.println(ex.getMessage());

    }

    }

    }

    1. Выберите верные утверждения:


      • сериализация это процесс перевода какой-либо структуры данных в последовательность битов;

      • десериализации - восстановление начального состояния структуры данных из битовой последовательности;

      • сериализация предшествует записи состояния объекта в поток;

      • десериализация проводится в процессе восстановления состояния объекта из потока;



    1. Выберите верные утверждения:


      • сериализовать можно только те объекты, которые реализуют интерфейс Serializable;

      • интерфейс Serializable определяет методы сериализации;

      • интерфейс Serializable указывает системе, что объект класса, реализующий его, может быть сериализован;

      • десериализация – это обратный процесс чтения ранее сериализованных данных из потока

      • «по умолчанию» сериализуются все переменные объекта;

      • невозможно исключить поля объекта из сериализации;



    1. Выберете варианты правильного синтаксиса применения модификатора transient:


      • class Person implements Serializable {

    private String name; private transient int age;

    //методы

    }

      • class transient Person implements Serializable { private String name;

    private transient int age;

    //методы

    }

      • class Person implements Serializable { private String name;

    private transient int age;

    //методы

    }

    1. Выберите правильные утверждения о классе File:


      • он определен в пакете java.io;

      • он работает напрямую с потоками;

      • его задачей является только управление информацией о файлах и каталогах;

      • файлы и каталоги в Java не описываются одним классом File;



    1. Может ли объект File соответствовать файлу, которого еще нет?


      • не может;

      • всегда может;

      • может, если передать в конструктор класса File значение директории:

    String dirPath = "/";

    File f = new File(dirPath); File[] files = f.listFiles();

    1. Зачем нужен класс FileReader?


      • предназначен для чтения потоков символов;

      • конструкторы этого класса предполагают, что принимается кодировка символов «по умолчанию»;

      • с помощью конструкторов этого класса можно изменить размер байтового буфера;



    1. Зачем нужен класс FileWriter?


      • предназначен для записи потоков символов;

      • с помощью конструкторов этого класса можно установить кодировку символов по выбору;

      • размер байтового буфера всегда равен размеру «по умолчанию»;

    Литература


    1. Руководство по языку программирования Java/ METANIT.COM - [Электронный ресурс], URL: https://metanit.com/java/tutorial/ (дата обращения: 08.06.22)

    2. Блинов, И.Н. Java from EPAM / И.Н. Блинов, В.С. Романчик. - Минск: Четыре четверти, 2020. - 560 с.
    1   ...   5   6   7   8   9   10   11   12   13


    написать администратору сайта