Что произойдет при неудачной попытке создания каталога с помощью метода mkdir
Перейти к содержимому

Что произойдет при неудачной попытке создания каталога с помощью метода mkdir

  • автор:

Java. Сложный уровень

Экзамен «Java. Сложный уровень» для пользователей и системных администраторов.

  • Io
  • Jdbc
  • Обобщения тестирование логирование reflection
  • Многопоточность
  • Описание
  • Подробнее о товаре
  • Отзывы (0)
  • Вопросы теста
  • Обратная связь

Форма сдачи теста: Экстерн
Количество вопросов: 30
Время: 30 минут.
Проходной балл: 85%
Срок действия сертификата: неограничен

Сертификат появляется в Вашем профиле ресурса GeekBrains, и Вы можете его распечатать.

GeekBrains

По наличию 12485 шт.

Внимание !
Вопросы к тесту выложены исключительно в ознакомительных целях: количество вопросов может не совпадать с действительным, актуальность не поддерживается,- за решением теста Welcome to the cashier!
При побайтовом чтении из InputStream, метод read() возвращает значение типа:

У какого из типов данных нельзя запросить класс:

все представленные типы, имеют классы
Stringclass
Int []
Char
Void
String

Какой из типов данных не является интерфейсом?

У какого из типов данных нельзя запросить класс:

К какому из представленных классов нельзя подключить Filter?

можно ко всем перечисленным
Handler
Logger
Formatter

Какой фреймворк предназначен для написания юнит-тестов?

За что отвечает метод Class.forName()

загрузку драйвера базы данных
получения ссылки на объект типа Class, ассоциированном с указанным именем класса
проверку существования класса
получение строкового имени класса

Что такое состояние гонки?

ситуация, когда два потока ожидают друг друга, и освобождают ресурсы на слишком короткое время, что не позволяет им эффективно работать
ситуация, когда поток долго не может получить доступ к ресурсу из-за того, что он ранее был занят другим потоком
ошибка проектирования многопоточного приложения, при которой результат выполнения зависит от порядка выполнения потоков и является непредсказуемым

Назовите один из основных плюсов использования обобщений(Generics)?

обобщения позволяют писать более стабильный код благодаря возможности обнаружения большего числа ошибок на этапе выполнения
обобщения ускоряют работу с коллекциями
обобщения делают код более читабельным
обобщения позволяют писать более стабильный и общий код благодаря возможности обнаружения большего числа ошибок на этапе компиляции

Какой класс или интерфейс пакета java.sql используется при необходимости выполнить хранимую процедуру?

Что из себя представляет объект класса File

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

Какой из классов пакета java.io предоставляет возможность выбора кодировки при чтении данных из потока?

Выберите неправильный вариант запроса

INSERT INTO students (name, score) VALUES (‘Bob’, 20);
SELECT name FROM students WHERE score < 50;
SELECT name FROM students;
INSERT INTO students name = ‘Bob’, score = 20;
SELECT * FROM students;

Выберите неправильный вариант запроса

SELECT * FROM students;
DELETE FROM students;
UPDATE students SET score = 100 WHERE name = ‘Bob’;
UPDATE score = 100 INTO students WHERE name = ‘Bob’;

Что возвращает метод executeUpdate()?

true при успешно выполненном запросе, и false в противном случае
ничего не возвращает
количество измененных записей в БД
тип выполненной операции

Как называется абстрактный базовый класс для чтения потоков данных в символьном представлении?

Какое количество обобщенных типов может использовать класс?

не больше двух
не ограничено
один
класс не может быть обобщенным

Что делает метод reset() в классе ObjectOutputStream ?

очищает файл, в который производилась запись
повторно записывает объекты в файл
сбрасывает информацию об уже записанных объектах в поток
делает откат к ранее установленному состоянию

Выберите верное утверждение

Class.getDeclaredMethods() позволяет получить массив всех методов объявленных только внутри класса, Class.getMethods() позволяет получить массив всех открытых методов класса, в том числе доставшихся ему от родительских классов
Class.getDeclaredMethods() позволяет получить массив всех методов класса, Class.getMethods() позволяет получить массив всех открытых методов класса, в том числе доставшихся ему от родительских классов
Class.getDeclaredMethods() позволяет получить массив всех методов объявленных только внутри класса, Class.getMethods() позволяет получить массив всех открытых методов класса, объявленных только внутри класса
Class.getDeclaredMethods() позволяет получить массив всех открытых методов объявленных только внутри класса, Class.getMethods() позволяет получить массив всех открытых методов класса, в том числе доставшихся ему от родительских классов

Что произойдет при попытке выполнить resultSet.getString(“score”), если столбец score имеет тип INT?

будет брошено SQLException
будет брошено TypeMismatchException
вернется число, приведенное к строке
результат зависит от реализации JDBC драйвера

Можно ли использовать один поток (Stream из пакета java.io) для записи и чтения данных?

В чем особенность ScheduledExecutorService?

хранит в себе результаты выполнения потоков
позволяет запускать задачи по расписанию
позволяет запускать задачи через интерфейс Callable
позволяет менять количество активных потоков

Выберите верное утверждение

размер буфера класса BufferedReader по-умолчанию равен 8192, без возможности его изменения
размер буфера класса BufferedReader по-умолчанию равен 8192, при создании объекта его можно указать
класс BufferedReader использует системный буфер для ускорения операций чтения размером 1 мб

Выберите неверное утверждение

RandomAccessFile реализует интерфейсы InputStream и OutputStream
RandomAccessFile реализует интерфейсы DataInput и DataOutput
RandomAccessFile предоставляет одновременный доступ на чтение и запись
RandomAccessFile реализует интерфейс Closeable

Можно ли с помощью reflection вызвать статический метод класса?

Выберите верное утверждение:

метод Statement.execute() вернет true если запрос удалось выполнить, и false в противном случае
метод Statement.execute() вернет true если запрос сформирован корректно, и false в противном случае
метод Statement.execute() вернет true если результатом выполнения запроса является ResultSet, и false в противном случае

Выберите неверное утверждение

RandomAccessFile позволяет установить курсор на определенный символ по его номеру
RandomAccessFile позволяет установить курсор на определенный байт
RandomAccessFile позволяет выбрать режим работы с файлом: только чтение, чтение/запись

Некоторый поток вызвал метод wait() объекта и находится в состоянии ожидания. Владеет ли данный поток монитором объекта в этом состоянии?

В каком пакете находятся коллекции для работы с многопоточностью?

Как можно запрашивать значения столбцов в ResultSet?

только по имени столбца
только по индексу столбца (начиная с 1)
по индексу столбца (начиная с 1), или по имени
по индексу столбца (начиная с 0), или по имени
только по индексу столбца (начиная с 0)

Какие ограничения накладываются на обобщенные классы?

объекты обобщенных классов нельзя добавлять в коллекции
внутри класса нельзя создавать объекты и массивы обобщенного типа класса
классы не могут быть обобщенными
нельзя создавать объект обобщенного класса, не указав обобщенный тип
нельзя создавать объекты обобщенных классов

Метод shutdownNow() класса ExecutorService

вызывает у всех потоков сервиса метод stop()
моментально останавливает работу активных потоков сервиса
завершает выполнение текущих потоков для возможности дать новые задачи
возможно остановит работу активных потоков пула

В каком случае при вызове DriverManager.getConnection() появляется ошибка «No Suitable Driver»?

JDBC URL содержит ошибку
неверная комбинация имя пользователя/пароль
необходимый драйвер не зарегистрирован

Какой из классов может выполнять запросы вида “SELECT * FROM students WHERE name = ? AND score = ?;”

В чем особенность SequenceInputStream ?

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

Что произойдет при попытке вызвать interrupt() у потока, находящемся в состоянии sleep?

поток завершит свое выполнение
флаг interrupted изменит свое значение на true
будет брошено InterruptedException
флаг interrupted не изменит своего значения

Что не относится к CRUD операциям?

Каково предназначение класса Semaphore?

приостанавливать работу потоков на заданный промежуток времени
получать информацию о работающих потоках
распараллеливать выполнение задачи на несколько потоков
ограничить доступ к критической секции определенному количеству потоков

Что произойдет при неудачной попытке создания каталога с помощью метода mkdir() ?

метод вернет -1
метод вернет false
будет брошено IOException
метод ничего не вернет (void)

С какими типами данных не могут работать обобщения?

Какие типы аргументов будет принимать метод?

Любые
Object, Number
Number и его производные
только производные от Number, исключая сам Number

Может ли ThreadPool создавать daemon-потоки

Для чего нужен метод Thread.yield()?

для переключения процессора на обработку конкретного потока
для переключения процессора на обработку любого другого потока

Для чего используется Callable.call()?

для запуска задачи в отдельном потоке, которая возвращает результат выполнения
для запуска задачи в отдельном потоке, которая возвращает статус Callable.Success/Called/Failed
то же, что и Runnable.run(), т.к. они появились в разных версиях Java

Что произойдет при попытке выполнить некорректно сформированный SQL запрос?

соединение с базой данных будет автоматически закрыто и программа продолжит работу
будет выброшено SQLException
будет выброшено NullPointerException
метод execute() вернет false, а метод executeQuery() – null

Можно ли с помощью reflection изменить private поле объекта?

Какой запрос позволит очистить таблицу students в SQLite?

DELETE * IN students;
DELETE FROM students;
REMOVE students;
DELETE * FROM students;
DELETE students;

Утверждение: Scanner предназначен только для чтения пользовательского ввода с консоли

Какая проверка отсутствует в классе Assert библиотеки JUnit 4?

Что не может быть обобщенным?

Сколько уровней логирования (включая OFF и ALL) есть в java.util.logging?

Для чего предназначен DataInputStream?

для преобразования текстового потока в бинарный
для чтения примитивных типов данных из бинарного потока
для чтения объектов из бинарного потока

При использовании CachedThreadPool

можно установить максимальное количество потоков, но нельзя уменьшать количество уже созданных потоков
можно установить максимальное количество потоков, и уменьшать количество уже созданных потоков
нельзя установить максимальное количество потоков, и нельзя уменьшать количество уже созданных потоков
можно уменьшать количество уже созданных потоков, но нельзя установить максимальное количество потоков

Какая из коллекций является синхронизированной?

Какой класс или интерфейс позволяет отсылать запросы в БД?

В чем смысл использования ReentrantReadWriteLock?

не позволяет читать данные, пока хотя бы один поток записывает данные, при этом количество пишущих потоков не ограничено
позволяет узнать какая операция (чтение или запись) производится в критической секции в настоящее время
позволяет ограничить доступ к критической секции только на использовании одной операции, либо для чтения, либо для записи
позволяет многим потокам одновременно получить доступ на чтение, и только одному на запись, при этом в единицу времени может производиться либо только чтение, либо только запись

За что отвечает метод flush() ?

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

Можно ли перехватить исключение, возникшие в одном из потоков ExecutorService, не в этом потоке сервиса?

Какой метод класса Thread необходимо вызвать для корректной остановки потока?

С помощью какой аннотации JUnit можно пропустить выполнение теста?

@Test(disable = true)
@Test(disabled = true)
@Skip
@Test(disable)
@Ignore

Что такое deadlock?

состояние, когда два потока ожидают разблокировки ресурсов, захваченных самими потоками
бесконечный цикл
состояние, когда один поток ожидает разблокировки ресурса, захваченного другим потоком

Какой метод должен быть переопределен классом, реализующим интерфейс Runnable для выполнения задачи в отдельном потоке?

boolean run()
void run(int priority)
void run()
int run()

Какой класс или интерфейс предоставляет средства управления транзакциями: setAutoCommit(), commit(), rollback()?

Какой из интерфейсов является обобщенным?

Cloneable
интерфейсы не могут быть обобщенными
Serializable
Comparable
Externalizable

Какой из представленных пакетов используется для ввода/вывода

Какова основная задача интерфейса PreparedStatement?

выполнение хранимых процедур
выполнять параметрические запросы
получение информации о состоянии БД
получение информации о таблицах

Имеется переменная
volatile int count=0;
Будет ли инструкция count++ атомарной?

Какой класс не входит в пакет java.lang.reflect?

Исключение какого типа будет выброшено при попытке выполнить некорректно сформированный SQL запрос:

SQLException
NullPointerException
RuntimeException
IOException

Как называется абстрактный базовый класс для чтения потоков данных в байтовом представлении?

Stream
Thread
InputStream
Reader
FileInputStream

Возможно ли вернуть данные обратно во входящий поток, после их прочтения?

Какой класс или интерфейс может вернуть объект типа DatabaseMetaData?

Что произойдет при попытке повторного создания таблицы через запрос CREATE TABLE students (. если такая таблица уже существует?

будет брошено IOException
будет брошено SQLException
таблица будет пересоздана с очисткой данных
ничего не произойдет

Сколько объектов класса Handler можно подключить к Logger?

сколько угодно
не больше одного
не больше двух
ни одного

Какие требования выдвигаются к классу, объекты которого будут использованы в конструкции try-with-resources ?

реализация интерфейса Stream
реализация интерфейса Serializable
реализация интерфейса Closeable
наследование от классов InputStream или OutputStream
наследование от класса Thread

Какой метод следует использовать для выполнения запросов INSERT и UPDATE?

В чем особенность RandomAccessFile?

предоставляет случайный доступ к файлу на чтение/запись
позволяет прочитать весь файл за одно выполнение read()
может открыть файл, даже занятый другим процессом
оптимизирует операции чтения/записи при использовании многопоточности

Какой модификатор позволяет пропустить поле при сериализации?

При использовании ReentrantReadWriteLock

при захвате writeLock все потоки, захватившие readLock, освобождаются
все утверждения не верны
только один поток может получить доступ к записи, и множество потоков могут получить одновременный доступ к чтению
потоки могут одновременно захватить и readLock и writeLock

Что произойдет при выполнении задачи через интерфейс Callable и попытке запросить результат работы потока с помощью метода get() до его завершения?

вернется null
будет брошено IllegalStateException
будет брошено InterruptedException
поток, запросивший результат выполнения, перейдет в режим ожидания

Вы можете обратится к нам напрямую, через:

По Skype: molodoyberkut
По Telegram: @MolodoyBerkut
По ICQ: 657089516
По Viber: molodoyberkut

Или через форму обратной связи на нашем сайте

Сертификат

  • Сертификат

Получите наши последние новости и специальные предложения

Создание каталога в Java

В Java существует несколько способов создания каталогов: с помощью методов File.mkdir() и File.mkdirs() .

1. Для создания одного каталога предназначен метод mkdir() :

new File("C:\Directory").mkdir();

2. Для создания каталога, а также всех родительских каталогов, предназначен метод mkdirs() :

new File("C:\Directory\SubDirectory1\SubDirectory2").mkdirs();

Оба эти метода возвращают булево значение: true если каталог (во втором случае — со всеми родительскими каталогами) создан успешно и false при возникновении проблем.

Пример

Классический пример создания каталогов в Java: проверить, существует ли каталог и если нет — создать его.

package ru.j4web.examples.java.io; import java.io.File; public class CreateDirectoryExample < private static final String DIR1 = "c:\Projects\J4Web.Ru\Src\" + "JavaIO\CreateDirectoryExample\Dir1"; private static final String DIR2 = "c:\Projects\J4Web.Ru\Src\" + "JavaIO\CreateDirectoryExample\Dir2\Dir3\Dir4\Dir5"; public static void main(String[] args) < final File dir1 = new File(DIR1); if(!dir1.exists()) < if(dir1.mkdir()) < System.out.println("Каталог " + dir1.getAbsolutePath() + " успешно создан."); >else < System.out.println("Каталог " + dir1.getAbsolutePath() + " создвть не удалось."); >> else < System.out.println("Каталог " + dir1.getAbsolutePath() + " уже существует."); >final File dir2 = new File(DIR2); if(!dir2.exists()) < if(dir2.mkdirs()) < System.out.println("Каталог " + dir2.getAbsolutePath() + " успешно создан."); >else < System.out.println("Каталог " + dir2.getAbsolutePath() + " создвть не удалось."); >> else < System.out.println("Каталог " + dir2.getAbsolutePath() + " уже существует."); >> >

Полезная информация

Создание директории в Java

Одна из распространенных задач, которые ставятся перед разработчиками на Java — создание директории или папки. Возникает необходимость создать новую директорию для хранения файлов, создание каталога для изображений или текстовых документов, и т.д.

Например, есть задача создать каталог с именем «new_folder» в домашнем каталоге пользователя, если такой еще не существует.

Для решения этой задачи в Java есть несколько способов, но одним из наиболее предпочтительных и удобных является использование класса File из стандартной библиотеки.

Вот пример кода, который решает эту задачу:

import java.io.File; public class Main < public static void main(String[] args) < String userHome = System.getProperty("user.home"); File directory = new File(userHome, "new_folder"); if (!directory.exists()) < directory.mkdir(); >> >

В этом коде мы получаем домашний каталог пользователя с помощью системного свойства «user.home». Затем создается объект класса File , который представляет путь к новой директории.

Далее проверяется существование директории с помощью метода exists() . Если директория не существует, то она создается с помощью метода mkdir() .

Этот пример показывает как можно просто и быстро создать директорию в Java. Однако стоит помнить, что в реальных проектах может потребоваться более сложная логика, включающая обработку ошибок и исключений.

File, Files, Path

— Сегодня я расскажу о работе с файлами. В Java есть специальный класс (File), с помощью которого можно управлять файлами на диске компьютера. Для того чтобы управлять содержимым файлов, есть другие классы: FileInputStream, FileOutputStream,…

File, Files, Path - 1

— Интересно. А когда ты говоришь «управлять файлами», что ты имеешь в виду?

— Как раз сейчас и расскажу. Файлы можно создавать, удалять, переименовывать и еще много чего. Практически во все классы, которые работают (читают, пишут, изменяют) с содержимым файла, можно передавать объект класса File. Пример:

Можно сразу передавать имя файла в FileInputStream

FileInputStream input = new FileInputStream("c:/path/a.txt");

А можно отдельно создать объект-файл, а потом передать его в FileInputStream

File file = new File("c:/path/a.txt"); FileInputStream input = new FileInputStream(file);

— Но во втором случае длиннее же получается. Так и не понял – зачем эти файлы нужны.

— Для этого конкретного случая – да. Это не пример, как надо делать, а скорее – как можно.
Но вот представь, что тебе нужно вывести на экран список всех файлов, которые находятся в определенной директории (папке). Вот как это можно сделать с помощью файлов:

File folder = new File("c:/path/"); for (File file : folder.listFiles()) < System.out.println(file.getName()); >

listFiles() – это метод, который возвращает список файлов в папке с именем «c:/path/»?

— Да. Хотя программисты обычно говорят «директория» или «каталог». Название «папка» стало употребляться совсем недавно, но, в принципе, они все верные, и ты можешь говорить, как тебе удобнее.

— Ок. А getName() что делает? Выдает имя файла? И какое именно имя? Полное вместе с путем или только имя самого файла?

— Только имя самого файла. Для полного есть file.getAbsolutePath()

— А какие еще методы есть у класса File?

Метод Описание
boolean isDirectory() Является ли «объект файла» директорией
boolean isFile() Является ли объект файлом
long length() Возвращает размер/длину файла в байтах.
boolean createNewFile() Создает файл. Если такой файл уже был, возвращает false.
boolean mkdir() Создает директорию. Название mkdir происходит от «make directory».
boolean mkdirs() Создает директорию и все поддиректории.
boolean delete() Удаляет файл объекта на диске. Если объект – директория, то только, если в ней нет файлов.
void deleteOnExit() Добавляет файл в специальный список файлов, которые будут автоматически удалены при закрытии программы.
File createTempFile(
String prefix,
String suffix,
File directory)
Создает «временный файл» — файл с случайно сгенерированным уникальным именем – что-типа «dasd4d53sd».
Дополнительные параметры – префикс к имени, суффикс (окончание). Если директория не указана, то файл создается в специальной директории ОС для временных файлов
boolean exists() Возвращает true, если файл с таким именем существует на диске компьютера.
String getAbsolutePath() Возвращает полный путь файла со всеми поддиректориями.
String getCanonicalPath() Возвращает канонический путь файла.
Например, преобразовывает путь «c:/dir/dir2/../a.txt» к пути «c:/dir/a.txt»
String[] list() Возвращает массив имен файлов, которые содержатся в директории, которой является текущий объект-файл.
File[] listFiles() Возвращает массив файлов, которые содержатся в директории, которой является текущий объект-файл.
long getTotalSpace() Возвращает размер диска (количество байт) на котором расположен файл.
long getFreeSpace() Возвращает количество свободного места (количество байт) на диске, на котором расположен файл.
boolean renameTo(File) Переименовывает файл – содержимое файла фактически получает новое имя. Т.е. можно переименовать файл «c:/dir/a.txt» в «d:/out/text/b.doc».
String getName() Возвращает только имя файла, без пути.
String getParent() Возвращает только путь (директорию) к текущему файлу, без самого имени.
Path toPath() Возвращает объект Path, который соответствует текущему объекту File.

— Ничего себе! А немаленький такой список получился. Да и вроде, можно довольно много сделать с помощью него: создавать, удалять файлы, переименовывать,…

А чтобы получить директорию текущего файла, надо вызвать getParent()?

— Ага, но он вернет не объект-файл, а строку – путь к файлу. Фактически у класса File почти все методы дублированы: одна версия возвращает String, вторая File. Вот смотри:

File file = new File("c:/path/a.txt"); String directory = file.getParent();
File file = new File("c:/path/a.txt"); File directory = file.getParentFile();

Если у тебя есть строка с путем к файлу, а надо объект File, то воспользуйся конструктором. Если же наоборот – есть объект File, а нужна строка – используй getAbsolutePath(). Пример:

String path text-green">c:/a.txt"; File file = new File(path);
File file = new File("c:/a.txt"); String path = file.getAbsolutePath();

— Отлично. Тогда вот тебе маленькое задание – выведи имена всех файлов, которые есть в той же директории, что и текущий файл.

— Нет ничего проще, вот, смотри:

//какой-то текущий файл File originalFile = new File("c:/path/dir2/a.txt"); //объект-директория File folder = originalFile.getParentFile(); //печать списка файлов на экран for (File file : folder.listFiles()) < System.out.println(file.getName()); >

— А то! Немного путает, что и для файла и для директории используется один и тот же класс – File. Как то это не очень логично, мне кажется.

— Так исторически сложилось. Раньше директория была специальным «пустым» файлом на диске. Сейчас уже, конечно, многое изменилось, но не везде. У меня на сегодня все.

— Спасибо, за отличную лекцию, Билаабо.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *