OutputStreamWriter outputStreamWriter = (OutputStreamWriter) Files.write(Path.of(scanner.nextLine()), bytes);
Данное решение проходит валидацию , но почему то кажется что это не совсем корректно ...
MichaelKosm
16 уровень
Является ли данное решение корректным ?
Обсуждается
Комментарии (7)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Sergei Zotov
7 декабря 2021, 07:52
Правильно ли я погнимаю что Files.write(Path.of(scanner.nextLine()), bytes); можно заменить на
String path=scanner.nextLine();
Files.write(Paths.get(path), bytes);????
0
Александр Web Java Developer
27 октября 2021, 10:58
А зачем Вам явно присваивать OutputStream в переменную? Сразу пишите в файл, для решения задачи ведь не нужно сохранять поток... К тому же операция каста дорогая по памяти :)
0
Дмитрий Б.
5 апреля 2021, 11:32
У меня вообще intellij idea ругается в строчке
Files.write(Path.of(scanner.nextLine()), bytes);
пишет:
java: cannot find symbol
symbol: method of(java.lang.String)
location: interface java.nio.file.Path
+1
Стас ПасинковSoftware Developer в ZipyMaster
11 мая 2021, 23:57
это она говорит, что в классе Path в вашей JDK нет метода с именем of, который бы принимал строку.
скорее всего потому, что он появился в более новой версии JDK, чем установлена у вас
0
Дмитрий Б.
13 мая 2021, 12:07
Спасибо, разобрался с этой темой поставив посвежее JDK
Ну и как альтернативу, можно использовать Paths.get() вместо Path.of()
+1
Стас ПасинковSoftware Developer в ZipyMaster
13 мая 2021, 12:58
кстати, в джавадоках в описании к каждому методу в конце там - указано в какой версии джавы он впервые появился :)
так что если хотите использовать какой-то "удобный" метод, которого нет в вашей JDK - вы всегда можете узнать какую версию надо поставить, чтобы он у вас появился :)
так что если хотите использовать какой-то "удобный" метод, которого нет в вашей JDK - вы всегда можете узнать какую версию надо поставить, чтобы он у вас появился :) +1
hidden #2322530
17 февраля 2021, 12:12
почему так кажется?
0