JavaRush/Курсы/Java Collections/Учимся гуглить | 1 уровень | 11 лекция

Учимся гуглить | 1 уровень | 11 лекция

Открыта

— Привет, Амиго!

Продолжаем наши уроки – учимся гуглить.

Вот тебе несколько заданий:

Найди в интернете:
1 Примеры работы с классом File
2 Как получить список всех файлов в директории и ее поддиректориях?
3 Как получить список всех файлов в директории с расширением zip?
4 Как заархивировать файл?
5 Как заархивировать много файлов?
6 Как заархивировать много файлов и директорий?
7 Как разархивировать файл?
8 Как задать кодировку файла?
9 Как узнать кодировку файла в архиве?
10 Как поменять данные (свойства) в объекте типа Properties?
Комментарии (74)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Максим Li Backend Developer
30 ноября 2025, 01:20
Denis Odesskiy Full Stack Developer
25 августа 2024, 11:03
Как узнать кодировку в файле? С помощью класса CharsetDecoder? Но достоверно, без сторонних библиотек (да и с ними тоже) никак вроде? Вообще достаточно сложная и нетривиальная задача, разве нет👀. Или кто-то уже защитил докторскую на эту тему?
Snaret Backend Developer
22 марта 2024, 03:03
Заплати мне деньги - я задам тебе вопросы, ответы на которые ты обязан гуглить... 🤮"рукалицо"💩
AhanSere
Уровень 1
23 октября 2023, 11:12
Гуглить уже умеем, давай дальше...
ZюMLik
Уровень 51
28 июня 2023, 06:13
Тему пора переименовывать в - "Учимся задавать вопросы ChatGPT" 😅
11 февраля 2024, 14:11
точно)
Кирилл
Уровень 2
10 апреля 2023, 14:24
Я чет первый раз на такой урок натолкнулся. Эт че за урок?))) Благодаря пустым лекциям и жесточайшим задачам от JavaRush я уже уроков 20 только и делаю, что гуглю😂
ꍟmpty꓅uple
Уровень 35
Expert
29 марта 2023, 13:48
разархивировать zip в ту же директорию где лежит архив, сохранив структуру директорий, включая пустые директории, написал так: https://github.com/emptyTuple/edu/blob/main/src/edu/zip/UnzipFileStreamConsumer.java
milniy87
Уровень 41
15 марта 2023, 12:14
6. Как заархивировать много файлов и директорий?
public void createZipFile(Path zipFilePath, List<Path> sourcePaths) throws IOException {
    try (ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(zipFilePath.toFile()))) {
        for (Path sourcePath : sourcePaths) {
            Files.walkFileTree(sourcePath, new SimpleFileVisitor<Path>() {
                @Override
                public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
                    ZipEntry zipEntry = new ZipEntry(sourcePath.relativize(file).toString());
                    zos.putNextEntry(zipEntry);
                    Files.copy(file, zos);
                    zos.closeEntry();
                    return FileVisitResult.CONTINUE;
                }

                @Override
                public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException {
                    ZipEntry zipEntry = new ZipEntry(sourcePath.relativize(dir).toString() + "/");
                    zos.putNextEntry(zipEntry);
                    zos.closeEntry();
                    return FileVisitResult.CONTINUE;
                }
            });
        }
    }
}
milniy87
Уровень 41
15 марта 2023, 12:24
8. Как задать кодировку файла? Для задания кодировки файла в Java можно использовать конструкторы класса InputStreamReader и OutputStreamWriter, которые принимают в качестве параметра объект типа Charset. Например:
Charset charset = Charset.forName("UTF-8");
FileOutputStream outputStream = new FileOutputStream("file.txt");
OutputStreamWriter writer = new OutputStreamWriter(outputStream, charset);
9. Как узнать кодировку файла в архиве? Кодировка файла в архиве может быть определена с помощью метода ZipFile.getEntry(String entryName), который возвращает объект типа ZipEntry. Затем можно использовать метод ZipEntry.getComment() для получения комментария к файлу, который может содержать информацию о кодировке. Например:
ZipFile zipFile = new ZipFile("archive.zip");
ZipEntry zipEntry = zipFile.getEntry("file.txt");
String comment = zipEntry.getComment(); // содержит информацию о кодировке файла.txt
10. Как поменять данные (свойства) в объекте типа Properties? Чтобы поменять данные в объекте типа Properties, можно использовать метод setProperty(String key, String value), который устанавливает значение свойства по заданному ключу. Например:
Properties props = new Properties();
props.setProperty("username", "admin");
props.setProperty("password", "123456");

// изменяем значение свойства "password"
props.setProperty("password", "new_password");
Также можно использовать метод put(Object key, Object value), который работает аналогично методу setProperty, но принимает параметры типа Object.
ꍟmpty꓅uple
Уровень 35
Expert
28 марта 2023, 05:29
еще можно через стрим: https://github.com/emptyTuple/edu/blob/main/src/edu/zip/AddFolderToZip.java и свою рекурсию тоже можно написать для тренировки, тоже напишу еще и с SimpleFileVisitor для тренировки
11 февраля 2024, 15:28
УХТЫ, СПАСИБО ДРУГ!
C-Grey
Уровень 25
16 декабря 2022, 18:47
учимся гуглить? ахахахахаха тут теория так с задачами связана что гуглить на первом квесте все научились. а на втором придумывать сначала рабочее решение, а потом перебирать еще несколько, что бы угадать что хочет валидатор +))))))
Liubov
Уровень 1
23 ноября 2022, 15:07
Ой, так всю джаву можно в интернете найти, зачем мы здесь собрались тогда? :D
wokku
Уровень 51
7 июля 2023, 16:52
чтоб понимать, что конкретно гуглить