|
|
|
Простой вопрос про finally
|
|||
|---|---|---|---|
|
#18+
[quot stepplerus]1024пропущено... Кстати, про владельцев. 1. Отбираю (в XP) у себя права на каталог, и File.listFiles() возвращает null, в то время как а я жду Exception. Ладно, оставим так. 2. Отбираю (в XP) у себя права на файл, все становится еще интреснее. Внутри одного устройства файл (неожиданно) переносится благополучно, сохраняя при этом все свои "запретительные" атрибуты. На другое устройство файл уже не переносится (ожидаемо), но при этом так же не происходит Exception, просто метод переноса возвращает false вместо true. Я что-то пропускаю в списке throw? Хотелось бы видеть, что именно происходит, а не просто "не шмогла". Спасибо. надо взять и прочитать в документации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2012, 18:25:27 |
|
||
|
Простой вопрос про finally
|
|||
|---|---|---|---|
|
#18+
stepplerus2. Отбираю (в XP) у себя права на файл, все становится еще интреснее. Внутри одного устройства файл (неожиданно) переносится благополучно"Неожиданно" потому, что вы плохо знаете систему прав Windows NT. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2012, 18:25:56 |
|
||
|
Простой вопрос про finally
|
|||
|---|---|---|---|
|
#18+
[quot 1024]stepplerusпропущено... надо взять и прочитать в документации. Я как раз ее и читаю. На www.java.sun.com. Но там как-то очень скупо про все написано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2012, 18:32:10 |
|
||
|
Простой вопрос про finally
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorovstepplerus2. Отбираю (в XP) у себя права на файл, все становится еще интреснее. Внутри одного устройства файл (неожиданно) переносится благополучно"Неожиданно" потому, что вы плохо знаете систему прав Windows NT. Ну, да. Я простой человек, поэтому ожидаю, что если я отобрал все права, то не должен мочь ничего. А получается не так. Перенести файл - можно. А вот открыть его в какой-то программе - уже нет (и скопировать - тоже нет). Почему? ЗЫ. Это риторические вопросы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2012, 18:39:10 |
|
||
|
Простой вопрос про finally
|
|||
|---|---|---|---|
|
#18+
[quot 1024]stepplerusпропущено... надо взять и прочитать в документации. Да. И отказаться от класса File из io. Так я понимаю текущую ситуацию. Для игрушек он был написан, а не для работы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2012, 18:47:13 |
|
||
|
Простой вопрос про finally
|
|||
|---|---|---|---|
|
#18+
[quot stepplerus]1024пропущено... Да. И отказаться от класса File из io. Так я понимаю текущую ситуацию. Для игрушек он был написан, а не для работы. уговаривайте меня! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2012, 18:51:53 |
|
||
|
Простой вопрос про finally
|
|||
|---|---|---|---|
|
#18+
[quot 1024]stepplerusпропущено... уговаривайте меня! Ага. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2012, 19:10:34 |
|
||
|
Простой вопрос про finally
|
|||
|---|---|---|---|
|
#18+
дверь открыта в обе стороны ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2012, 11:27:18 |
|
||
|
Простой вопрос про finally
|
|||
|---|---|---|---|
|
#18+
stepplerusBasil A. Sidorovпропущено... "Неожиданно" потому, что вы плохо знаете систему прав Windows NT. Ну, да. Я простой человек, поэтому ожидаю, что если я отобрал все права, то не должен мочь ничего. А получается не так. Перенести файл - можно. А вот открыть его в какой-то программе - уже нет (и скопировать - тоже нет). Почему? ЗЫ. Это риторические вопросы. Да. И отказаться от класса File из io. Так я понимаю текущую ситуацию. Для игрушек он был написан, а не для работы. Поздравляю, вы первый кто написал вирус на java. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2012, 13:19:20 |
|
||
|
Простой вопрос про finally
|
|||
|---|---|---|---|
|
#18+
1024дверь открыта в обе стороны Хамить - это обязательно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2012, 13:57:36 |
|
||
|
Простой вопрос про finally
|
|||
|---|---|---|---|
|
#18+
stepplerusХамить - это обязательно?А вы никогда не видели дверей в магазинах и тамбурах? Они действительно открываются в обе стороны. Кроме того, вам, пока, не хамят. А вот ваш апломб - несколько раздражает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2012, 14:06:56 |
|
||
|
Простой вопрос про finally
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2012, 14:12:01 |
|
||
|
Простой вопрос про finally
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovstepplerusХамить - это обязательно?А вы никогда не видели дверей в магазинах и тамбурах? Они действительно открываются в обе стороны. Кроме того, вам, пока, не хамят. А вот ваш апломб - несколько раздражает. Могу себе позволить. Опыт программирования у меня, прямо скажем, не маленький. На самых разных системах. Но не на JAVA. А то, что я вижу в JAVA, меня, мягко говоря, удивляет. Как, например, нижеописаная ситуация - "метод delete() возвращает boolean, и исключения редко выкидывает". Как такое может быть вообще? Я не могу удалить файл, и НИКАК не могу узнать - почему? Так же непонятен двойственный подход - метод и результат возвращает и исключение может выкинуть, а может и не выкинуть. Тогда только результат - истина или ложь. Если уж писать систему на исключениях, то в ней ВСЕ ошибки должны быть на исключениях, а все методы, которые возвращают не объекты, должны быть void. Если писать систему без исключений, то подобные методы должны возвращать хотя бы int, в котором будет код ошибки (для разных случаев - разный). При таком подходе прикладной код тоже получается простой и понятный. В одном случае - на исключениях, в другом - на проверках результата вызова функций. Оба этих подхода я вполне успешно использовал и использую до сих пор. А с JAVA получается, как в том анекдоте - "тут играть, тут не играть, тут рыбу заворачивали, не черкайте, это не ваши ноты". Я не утверждаю, что с этим совсем нельзя жить. Можно, конечно. Мир, вообще, не совершенен. Но сдержать свое удивление по этому поводу я пока не могу. Наверное привыкну, но, со временем, не сразу. Привык же, например, к языку, где перевести буквы в строчные это lc(), а в прописные - caps(). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2012, 09:34:15 |
|
||
|
Простой вопрос про finally
|
|||
|---|---|---|---|
|
#18+
0FDПоздравляю, вы первый кто написал вирус на java. Не, FAR так же работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2012, 09:35:13 |
|
||
|
Простой вопрос про finally
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Спасибо, посмотрю. Про Path я уже читал, но так и не понял, что это. Видимо, не добрался еще до начала объяснения. Особенно порадовали примеры: Path source = ... Path target = ... Files.copy(source, target, ...); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2012, 09:38:59 |
|
||
|
Простой вопрос про finally
|
|||
|---|---|---|---|
|
#18+
stepplerus, ваши доводы на первый взгляд логичны. Но, реализовать именно Кроссплатформенно API-работу с файлами в кавычках - не так просто. Как все случаи жизни подвести под один API и ещё вдобавок вывести подробности "не смогла" по каждой?. Хотя на самом деле, говорят, что кроссплатформенность - это "игрушки" ). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2012, 10:07:14 |
|
||
|
Простой вопрос про finally
|
|||
|---|---|---|---|
|
#18+
Petro123, Ну, я, как раз, сейчас сижу на кроссплатформенной системе. В ней, для файловых операций, возвращается код ошибки ОС. Для виндов и юникса они разные, хотя, частью и совпадают. Так как я знаю, на какой ОС произошла ошибка, расшифровать ее труда не составляет (большого). Хотя, для части файловых операций никаких ошибок не возвращается, и даже исключений перехватить нельзя. Так что, да, похоже, что проблемы общие. Разочаровывает меня JAVA. От системы, которая была написана уже после того, как большинство шишек уже было набито, я ждал большей стройности. А пока это все больше похоже на нагромождение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2012, 10:21:01 |
|
||
|
Простой вопрос про finally
|
|||
|---|---|---|---|
|
#18+
stepplerusРазочаровывает меня JAVA. От системы, которая была написана уже после того, как большинство шишек уже было набито, я ждал большей стройности. А пока это все больше похоже на нагромождение. а что? Большой выбор альтернатив? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2012, 10:34:28 |
|
||
|
Простой вопрос про finally
|
|||
|---|---|---|---|
|
#18+
Добрый день, 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2012, 10:38:07 |
|
||
|
Простой вопрос про finally
|
|||
|---|---|---|---|
|
#18+
Petro123stepplerusРазочаровывает меня JAVA. От системы, которая была написана уже после того, как большинство шишек уже было набито, я ждал большей стройности. А пока это все больше похоже на нагромождение. а что? Большой выбор альтернатив? Ну, как говорят англичане: "из двух зол и выбирать не стоит". Интересно было бы узнать, что помешало сделать хорошие библиотеки на Cи. В которые положить, в том числе, и кроссплатформенность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2012, 10:40:19 |
|
||
|
Простой вопрос про finally
|
|||
|---|---|---|---|
|
#18+
GKS_SamaraМир несовершенен. +1 ))) Добавлю, что иногда даже легче жить, зная что ОН несовершенен)) авторИнтересно было бы узнать, что помешало сделать хорошие библиотеки на Cи. На Си своих тараканов полно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2012, 10:55:05 |
|
||
|
Простой вопрос про finally
|
|||
|---|---|---|---|
|
#18+
stepplerusМогу себе позволить. Опыт программирования у меня, прямо скажем, не маленький. На самых разных системах.И что? "Да у меня тридцать лет армейского стажа!" (ц) "Две сорванные башни"Но не на JAVA.Ну так и не суйтесь со своим уставом в чужой монастырь.А то, что я вижу в JAVA, меня, мягко говоря, удивляет. Как, например, нижеописаная ситуация - "метод delete() возвращает boolean, и исключения редко выкидывает". Как такое может быть вообще?Смотрим доку (Java SE 6) Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. Видим, что исключение кидается тогда, когда программа работает под диспетчером безопасности.Я не могу удалить файл, и НИКАК не могу узнать - почему?Да, не можете. По той простой причине, что никто не собирается создавать стопитцот унифицированных кодов ошибок и отображать их на всевозможные системные.Так же непонятен двойственный подходЭто потому, что вы не взяли труд почитать документацию. И подумать.Если уж писать систему на исключениях, то в ней ВСЕ ошибки должны быть на исключениях, а все методы, которые возвращают не объекты, должны быть void.А вот это - бред. Исключение - исключительная ситуация. А исключительным является только то, что не может быть решено в данном контектсе . Не больше и не меньше.При таком подходе прикладной код тоже получается простой и понятный.Прикладной код не может быть проще задачи. Всё, что может сделать программист - сосредоточить сложные вещи внутри "простых". Но даже такой подход работает, пока вам не требуется отладка. Потребовалась - придётся нырять в потроха. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2012, 11:28:19 |
|
||
|
Простой вопрос про finally
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovПо той простой причине, что никто не собирается создавать стопитцот унифицированных кодов ошибок и отображать их на всевозможные системные. я с тобой согласен. Но _в прикладном_ коде нужно знать о причине "не могу". Т.к. нужно принимать решение. Но, и с тем, что для всех осей писать коды ошибок - тоже некузяво. Согласен. ЗЫ. Как сказали на форуме Игрушек программисты: "кроссплатформенность, это обман". Всё равно в коде сложной системы - куча if \ else и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2012, 11:57:39 |
|
||
|
Простой вопрос про finally
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, 1. JAVA - не монастырь, JAVA - инструмент. Нельзя предъявлять претензии к инструменту? С каких это пор? 2. Я покручу SecurityManager. 3. В операционных системах дают себе труд создать и описать стопитсот ошибок. Не вижу никаких причин не сделать это в JAVA. Кроме как "нам это сдавать ко второму явнваря, а еще код не весь проверен". 4. Есть разные исключения. В том числе - проверяемые. Код, основанный на одном подходе - проще и понятнее. Например, в каком-то другом случае, я буду думать, что получу ошибку в виде возвращаемого результата метода, а у меня случится исключение, которое я не предусмотрел. Понятно, что прочитав доку и проведя стопитсот тестов, я решу эту проблему. Но нафига такой гемморой? Что бы не скучно было? Почему не сделать все одинаково? 5. Не должен я "нырять в потроха". Вынужден, да. Но не должен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2012, 12:09:01 |
|
||
|
Простой вопрос про finally
|
|||
|---|---|---|---|
|
#18+
Petro123Но _в прикладном_ коде нужно знать о причине "не могу". Т.к. нужно принимать решение.Одно с другим не связано. Вообще. Несколько примеров: 1. Винда не позволяет удалить файл, открытый другим процессом. Ошибка - нет доступа. Ровно такая же, как и при "реальной" нехватке прав. Ошибка одна, а решения - разные. А в хрюниксах эта ошибка вообще не возникает. 2. В хрюниксах файловые системы - регистрочувствительные, а виндах - регистро не чувствительные. Но - сохраняющие регистр. Тоже может быть источником проблем. 3. Есть, например, XADisk - там добавляются свои ошибки, о которых рантайм в принципе не может знать. Те, кому действительно могут взять Java SE 7 и реализовать такое файловое хранилище, которое их душе угодно. P.S. Задача прикладного программиста - реализовать (свою часть) проект(а) в рамках существующего бюджета и ограничений. А не хныкаться, что стиль кода функции не той системы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2012, 12:11:55 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=37933539&tid=2131051]: |
0ms |
get settings: |
20ms |
get forum list: |
27ms |
check forum access: |
9ms |
check topic access: |
9ms |
track hit: |
100ms |
get topic data: |
23ms |
get forum data: |
6ms |
get page messages: |
119ms |
get tp. blocked users: |
2ms |
| others: | 327ms |
| total: | 642ms |

| 0 / 0 |
