powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Простой вопрос про finally
25 сообщений из 124, страница 2 из 5
Простой вопрос про finally
    #37932390
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot stepplerus]1024пропущено...


Кстати, про владельцев.

1. Отбираю (в XP) у себя права на каталог, и File.listFiles() возвращает null, в то время как а я жду Exception. Ладно, оставим так.
2. Отбираю (в XP) у себя права на файл, все становится еще интреснее. Внутри одного устройства файл (неожиданно) переносится благополучно, сохраняя при этом все свои "запретительные" атрибуты. На другое устройство файл уже не переносится (ожидаемо), но при этом так же не происходит Exception, просто метод переноса возвращает false вместо true. Я что-то пропускаю в списке throw? Хотелось бы видеть, что именно происходит, а не просто "не шмогла".

Спасибо.

надо взять и прочитать в документации.
...
Рейтинг: 0 / 0
Простой вопрос про finally
    #37932391
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stepplerus2. Отбираю (в XP) у себя права на файл, все становится еще интреснее. Внутри одного устройства файл (неожиданно) переносится благополучно"Неожиданно" потому, что вы плохо знаете систему прав Windows NT.
...
Рейтинг: 0 / 0
Простой вопрос про finally
    #37932401
stepplerus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot 1024]stepplerusпропущено...


надо взять и прочитать в документации.

Я как раз ее и читаю. На www.java.sun.com. Но там как-то очень скупо про все написано.
...
Рейтинг: 0 / 0
Простой вопрос про finally
    #37932413
stepplerus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basil A. Sidorovstepplerus2. Отбираю (в XP) у себя права на файл, все становится еще интреснее. Внутри одного устройства файл (неожиданно) переносится благополучно"Неожиданно" потому, что вы плохо знаете систему прав Windows NT.

Ну, да.
Я простой человек, поэтому ожидаю, что если я отобрал все права, то не должен мочь ничего. А получается не так.
Перенести файл - можно. А вот открыть его в какой-то программе - уже нет (и скопировать - тоже нет). Почему?

ЗЫ. Это риторические вопросы.
...
Рейтинг: 0 / 0
Простой вопрос про finally
    #37932425
stepplerus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot 1024]stepplerusпропущено...


надо взять и прочитать в документации.

Да. И отказаться от класса File из io. Так я понимаю текущую ситуацию. Для игрушек он был написан, а не для работы.
...
Рейтинг: 0 / 0
Простой вопрос про finally
    #37932436
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot stepplerus]1024пропущено...


Да. И отказаться от класса File из io. Так я понимаю текущую ситуацию. Для игрушек он был написан, а не для работы.

уговаривайте меня!
...
Рейтинг: 0 / 0
Простой вопрос про finally
    #37932462
stepplerus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot 1024]stepplerusпропущено...


уговаривайте меня!

Ага.
...
Рейтинг: 0 / 0
Простой вопрос про finally
    #37933148
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дверь открыта в обе стороны
...
Рейтинг: 0 / 0
Простой вопрос про finally
    #37933458
0FD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stepplerusBasil A. Sidorovпропущено...
"Неожиданно" потому, что вы плохо знаете систему прав Windows NT.

Ну, да.
Я простой человек, поэтому ожидаю, что если я отобрал все права, то не должен мочь ничего. А получается не так.
Перенести файл - можно. А вот открыть его в какой-то программе - уже нет (и скопировать - тоже нет). Почему?

ЗЫ. Это риторические вопросы.


Да. И отказаться от класса File из io. Так я понимаю текущую ситуацию. Для игрушек он был написан, а не для работы.


Поздравляю, вы первый кто написал вирус на java.
...
Рейтинг: 0 / 0
Простой вопрос про finally
    #37933515
stepplerus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1024дверь открыта в обе стороны

Хамить - это обязательно?
...
Рейтинг: 0 / 0
Простой вопрос про finally
    #37933539
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stepplerusХамить - это обязательно?А вы никогда не видели дверей в магазинах и тамбурах? Они действительно открываются в обе стороны.
Кроме того, вам, пока, не хамят. А вот ваш апломб - несколько раздражает.
...
Рейтинг: 0 / 0
Простой вопрос про finally
    #37933552
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stepplerus,

1) В Java 7 есть try-with-resource
http://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html
Ресурс, конечно, придется создать свой. Но фича как раз создана для того чтобы решить вашу проблему.

2) В Java принятно именовать переменные с маленькой буквы.

3) Обратите внимание что File.delete() возвращает boolean. Хорошим стилем было бы это значение проверить. Т.к. исключения этот метод обычно не выкидывает.

4) В Java 7 так же много чего интересного в работе с файлами
http://docs.oracle.com/javase/tutorial/essential/io/fileio.html
...
Рейтинг: 0 / 0
Простой вопрос про finally
    #37934753
stepplerus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basil A. SidorovstepplerusХамить - это обязательно?А вы никогда не видели дверей в магазинах и тамбурах? Они действительно открываются в обе стороны.
Кроме того, вам, пока, не хамят. А вот ваш апломб - несколько раздражает.

Могу себе позволить. Опыт программирования у меня, прямо скажем, не маленький. На самых разных системах. Но не на JAVA.
А то, что я вижу в JAVA, меня, мягко говоря, удивляет.
Как, например, нижеописаная ситуация - "метод delete() возвращает boolean, и исключения редко выкидывает". Как такое может быть вообще? Я не могу удалить файл, и НИКАК не могу узнать - почему?
Так же непонятен двойственный подход - метод и результат возвращает и исключение может выкинуть, а может и не выкинуть. Тогда только результат - истина или ложь.
Если уж писать систему на исключениях, то в ней ВСЕ ошибки должны быть на исключениях, а все методы, которые возвращают не объекты, должны быть void. Если писать систему без исключений, то подобные методы должны возвращать хотя бы int, в котором будет код ошибки (для разных случаев - разный).
При таком подходе прикладной код тоже получается простой и понятный. В одном случае - на исключениях, в другом - на проверках результата вызова функций. Оба этих подхода я вполне успешно использовал и использую до сих пор.
А с JAVA получается, как в том анекдоте - "тут играть, тут не играть, тут рыбу заворачивали, не черкайте, это не ваши ноты". Я не утверждаю, что с этим совсем нельзя жить. Можно, конечно. Мир, вообще, не совершенен. Но сдержать свое удивление по этому поводу я пока не могу. Наверное привыкну, но, со временем, не сразу. Привык же, например, к языку, где перевести буквы в строчные это lc(), а в прописные - caps().
...
Рейтинг: 0 / 0
Простой вопрос про finally
    #37934755
stepplerus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
0FDПоздравляю, вы первый кто написал вирус на java.

Не, FAR так же работает.
...
Рейтинг: 0 / 0
Простой вопрос про finally
    #37934760
stepplerus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

Спасибо, посмотрю.

Про Path я уже читал, но так и не понял, что это. Видимо, не добрался еще до начала объяснения. Особенно порадовали примеры:

Path source = ...
Path target = ...

Files.copy(source, target, ...);
...
Рейтинг: 0 / 0
Простой вопрос про finally
    #37934811
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stepplerus,
ваши доводы на первый взгляд логичны.
Но, реализовать именно Кроссплатформенно API-работу с файлами в кавычках - не так просто.
Как все случаи жизни подвести под один API и ещё вдобавок вывести подробности "не смогла" по каждой?.
Хотя на самом деле, говорят, что кроссплатформенность - это "игрушки" ).
...
Рейтинг: 0 / 0
Простой вопрос про finally
    #37934830
stepplerus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,

Ну, я, как раз, сейчас сижу на кроссплатформенной системе. В ней, для файловых операций, возвращается код ошибки ОС. Для виндов и юникса они разные, хотя, частью и совпадают. Так как я знаю, на какой ОС произошла ошибка, расшифровать ее труда не составляет (большого). Хотя, для части файловых операций никаких ошибок не возвращается, и даже исключений перехватить нельзя. Так что, да, похоже, что проблемы общие.

Разочаровывает меня JAVA. От системы, которая была написана уже после того, как большинство шишек уже было набито, я ждал большей стройности. А пока это все больше похоже на нагромождение.
...
Рейтинг: 0 / 0
Простой вопрос про finally
    #37934865
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stepplerusРазочаровывает меня JAVA. От системы, которая была написана уже после того, как большинство шишек уже было набито, я ждал большей стройности. А пока это все больше похоже на нагромождение.
а что? Большой выбор альтернатив?
...
Рейтинг: 0 / 0
Простой вопрос про finally
    #37934870
GKS_Samara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, stepplerus!

> А то, что я вижу в JAVA, меня, мягко говоря, удивляет.

В java некоторые вещи были сделаны изначально плохо.
В частности- работа с файлами.
Поэтому есть NIO в JDK1.4 и NIO2 в JDK7.
Если есть возможность- используй NOI2 и забудь остальное, как страшный сон.

> А с JAVA получается, как в том анекдоте - "тут играть, тут не играть,
> тут рыбу заворачивали, не черкайте, это не ваши ноты". Я не утверждаю,
> что с этим совсем нельзя жить. Можно, конечно. Мир, вообще, не
> совершенен. Но сдержать свое удивление по этому поводу я пока не могу.

Мир несовершенен. Правильно сделанные ЯП оказываются громоздкими и без
поддержки сообщества (Algol68, Ada, Eiifel), используются нишево.
Приходится жить в кривых поделиях, рождённых случайно и без
продумывания, и доделанных общими усилиями до состояния "что смогли, то
поправили, остальное уж как есть" (C, C++, java, php и т.п.).

--
Алексей
JID: alxt@ya.ru


Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Простой вопрос про finally
    #37934874
stepplerus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123stepplerusРазочаровывает меня JAVA. От системы, которая была написана уже после того, как большинство шишек уже было набито, я ждал большей стройности. А пока это все больше похоже на нагромождение.
а что? Большой выбор альтернатив?

Ну, как говорят англичане: "из двух зол и выбирать не стоит".

Интересно было бы узнать, что помешало сделать хорошие библиотеки на Cи. В которые положить, в том числе, и кроссплатформенность.
...
Рейтинг: 0 / 0
Простой вопрос про finally
    #37934905
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GKS_SamaraМир несовершенен.
+1 )))
Добавлю, что иногда даже легче жить, зная что ОН несовершенен))

авторИнтересно было бы узнать, что помешало сделать хорошие библиотеки на Cи.
На Си своих тараканов полно.
...
Рейтинг: 0 / 0
Простой вопрос про finally
    #37934984
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stepplerusМогу себе позволить. Опыт программирования у меня, прямо скажем, не маленький. На самых разных системах.И что? "Да у меня тридцать лет армейского стажа!" (ц) "Две сорванные башни"Но не на JAVA.Ну так и не суйтесь со своим уставом в чужой монастырь.А то, что я вижу в JAVA, меня, мягко говоря, удивляет.
Как, например, нижеописаная ситуация - "метод delete() возвращает boolean, и исключения редко выкидывает". Как такое может быть вообще?Смотрим доку (Java SE 6)
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
public boolean delete()
Deletes the file or directory denoted by this abstract pathname.
If this pathname denotes a directory, then the directory must be empty in order to be deleted.
Returns:
 true if and only if the file or directory is successfully deleted; false otherwise 
Throws:
 SecurityException - If a security manager exists and its
 SecurityManager.checkDelete(java.lang.String) method
 denies delete access to the file

Видим, что исключение кидается тогда, когда программа работает под диспетчером безопасности.Я не могу удалить файл, и НИКАК не могу узнать - почему?Да, не можете.
По той простой причине, что никто не собирается создавать стопитцот унифицированных кодов ошибок и отображать их на всевозможные системные.Так же непонятен двойственный подходЭто потому, что вы не взяли труд почитать документацию. И подумать.Если уж писать систему на исключениях, то в ней ВСЕ ошибки должны быть на исключениях, а все методы, которые возвращают не объекты, должны быть void.А вот это - бред. Исключение - исключительная ситуация. А исключительным является только то, что не может быть решено в данном контектсе . Не больше и не меньше.При таком подходе прикладной код тоже получается простой и понятный.Прикладной код не может быть проще задачи. Всё, что может сделать программист - сосредоточить сложные вещи внутри "простых". Но даже такой подход работает, пока вам не требуется отладка. Потребовалась - придётся нырять в потроха.
...
Рейтинг: 0 / 0
Простой вопрос про finally
    #37935035
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovПо той простой причине, что никто не собирается создавать стопитцот унифицированных кодов ошибок и отображать их на всевозможные системные.
я с тобой согласен.
Но _в прикладном_ коде нужно знать о причине "не могу". Т.к. нужно принимать решение.
Но, и с тем, что для всех осей писать коды ошибок - тоже некузяво.
Согласен.
ЗЫ. Как сказали на форуме Игрушек программисты: "кроссплатформенность, это обман".
Всё равно в коде сложной системы - куча if \ else и т.д.
...
Рейтинг: 0 / 0
Простой вопрос про finally
    #37935057
stepplerus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basil A. Sidorov,

1. JAVA - не монастырь, JAVA - инструмент. Нельзя предъявлять претензии к инструменту? С каких это пор?
2. Я покручу SecurityManager.
3. В операционных системах дают себе труд создать и описать стопитсот ошибок. Не вижу никаких причин не сделать это в JAVA. Кроме как "нам это сдавать ко второму явнваря, а еще код не весь проверен".
4. Есть разные исключения. В том числе - проверяемые. Код, основанный на одном подходе - проще и понятнее. Например, в каком-то другом случае, я буду думать, что получу ошибку в виде возвращаемого результата метода, а у меня случится исключение, которое я не предусмотрел. Понятно, что прочитав доку и проведя стопитсот тестов, я решу эту проблему. Но нафига такой гемморой? Что бы не скучно было? Почему не сделать все одинаково?
5. Не должен я "нырять в потроха". Вынужден, да. Но не должен.
...
Рейтинг: 0 / 0
Простой вопрос про finally
    #37935066
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Но _в прикладном_ коде нужно знать о причине "не могу". Т.к. нужно принимать решение.Одно с другим не связано. Вообще.
Несколько примеров:
1. Винда не позволяет удалить файл, открытый другим процессом. Ошибка - нет доступа. Ровно такая же, как и при "реальной" нехватке прав. Ошибка одна, а решения - разные. А в хрюниксах эта ошибка вообще не возникает.
2. В хрюниксах файловые системы - регистрочувствительные, а виндах - регистро не чувствительные. Но - сохраняющие регистр. Тоже может быть источником проблем.
3. Есть, например, XADisk - там добавляются свои ошибки, о которых рантайм в принципе не может знать.

Те, кому действительно могут взять Java SE 7 и реализовать такое файловое хранилище, которое их душе угодно.

P.S. Задача прикладного программиста - реализовать (свою часть) проект(а) в рамках существующего бюджета и ограничений.
А не хныкаться, что стиль кода функции не той системы.
...
Рейтинг: 0 / 0
25 сообщений из 124, страница 2 из 5
Форумы / Java [игнор отключен] [закрыт для гостей] / Простой вопрос про finally
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]