|
|
|
подскажите пожалуйста как будет правильно
|
|||
|---|---|---|---|
|
#18+
простая программка частичного копирования файлов . import java.io.*; import java.lang.StringBuffer; public class MyClass{ static StringBuffer sb=new StringBuffer(43); public static void main(String[] args) throws IOException { try{ File h=new File("c:\\lemka.txt"); if (h.exists()==false){h.createNewFile();} RandomAccessFile p=new RandomAccessFile(h,"rw"); File f=new File("c:\\","lem.txt"); RandomAccessFile d=new RandomAccessFile(f,"r"); do{ sb.delete(0,sb.length()); sb.append(d.readLine()); p.writeBytes(sb.toString()+"\n"); System.out.println(sb.length()); }while (sb.toString()!="null"); p.close(); d.close(); } catch(Exception e){ System.out.println(e); } } } Проблема в том что когда lem.txt кончается то в конец lemka.txt дописывается null .Мне просто интересно почему while (sb.toString()!="null"); не работает.Если написать while (sb.toString()=="null"); то программа завершает нормально как и должно на первой строчке а наоборот не хочет Как написать правильно и главное почему этот мой вариант не работает хотя вроде как должен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2005, 17:50 |
|
||
|
подскажите пожалуйста как будет правильно
|
|||
|---|---|---|---|
|
#18+
Попробуй Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2005, 10:30 |
|
||
|
подскажите пожалуйста как будет правильно
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. Попробуй просто while без do, а то выходит что прога сначала пробегает цикл, записывает твою нулевую строку, а только потом до неё доходит что условие было !=null Код: plaintext 1. 2. 3. 4. 5. Кстати при обработе ошибки лучше использовать не System.out.println(e);, а e.printStackTrace(); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2005, 10:42 |
|
||
|
подскажите пожалуйста как будет правильно
|
|||
|---|---|---|---|
|
#18+
п...ц :) нет слофф :) ах..ь :) никогда не сравнивайте строку так: Код: plaintext 1. 2. 3. ... так и только так: Код: plaintext 1. 2. 3. 4. -- если снова отключат свет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2005, 10:49 |
|
||
|
подскажите пожалуйста как будет правильно
|
|||
|---|---|---|---|
|
#18+
Plut так " while (sb.toString().equals(null)); " так я пробовал это меня и удивило что это не работает. Naug так я тоже попробовал проблема в том что я не могу определить конец файла вот это вот " != " не работает почиму то. Сначало то и было while do это потом я переделал в do while для . © . я так и не сравниваю благо книжку Философия ява купил про экуал там написано хорошо и в статьях часто встречается а насчет того как делать попробуйте while (sb.toString().equals(null)); все равно не работает только дописывает в новую копию файла когда кончается файл из которого копируют строчу null так вот мне просто интересно пачиму это не работает ежели кто из гигантов мысли панимает в чем реально проблема и как объянить пачиму код работает и какой код (копирующий файл будет работать типа приведенного примера c использованием RabdomAccessFile а не через FileReader и FileWriter)будет работать в принципе я то его сделал через сравнение текущей позиции и длины файла мне просто интересно пачиму != не работает а == работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2005, 15:19 |
|
||
|
подскажите пожалуйста как будет правильно
|
|||
|---|---|---|---|
|
#18+
только попробуйте сначала проверьте сами он работает или нет а питоне это так просто а ява так сложно пачиму то ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2005, 15:23 |
|
||
|
подскажите пожалуйста как будет правильно
|
|||
|---|---|---|---|
|
#18+
Товарищи отвечающие, вы хоть код читали, который "не работает"? Проблема в том что когда lem.txt кончается то в конец lemka.txt дописывается null .Мне просто интересно почему while (sb.toString()!="null"); не работает.Если написать while (sb.toString()=="null"); то программа завершает нормально как и должно на первой строчке а наоборот не хочет Как написать правильно и главное почему этот мой вариант не работает хотя вроде как должен ^^^ оба варианта не работают. Просто первый всегда true, а второй всегда false. Условие выхода должно стоять не после, а перед записью прочитанной строки в файл. Проверять надо было по !"null".equals(sb.toString()); Писать надо было хотя бы так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2005, 15:32 |
|
||
|
подскажите пожалуйста как будет правильно
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2005, 15:43 |
|
||
|
подскажите пожалуйста как будет правильно
|
|||
|---|---|---|---|
|
#18+
Пардон ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2005, 15:49 |
|
||
|
подскажите пожалуйста как будет правильно
|
|||
|---|---|---|---|
|
#18+
llemingя так и не сравниваю благо книжку Философия ява купил про экуал там написано хорошо и в статьях часто встречается а насчет того как делать попробуйте while (sb.toString().equals(null)); все равно не работает только дописывает в новую копию файла когда кончается файл из которого копируют строчу null х.ё.о читал значит. это: Код: plaintext 1. самая тупая конструкция которую я сегодня видел. че ты хочешь узнать, когда пишешь это? если определить "пуст" ли StringBuffer a.k.a sb, то вполне достаточно: Код: plaintext 1. 2. 3. sb.toString() никогда не вернет null ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2005, 15:55 |
|
||
|
подскажите пожалуйста как будет правильно
|
|||
|---|---|---|---|
|
#18+
офф ну и чо ты такой злой? ;) партал ещё жифф? Posted via ActualForum NNTP Server 1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2005, 16:19 |
|
||
|
подскажите пожалуйста как будет правильно
|
|||
|---|---|---|---|
|
#18+
NotGonnaGetUs огромное спасибо NotGonnaGetUs за строчку !"null".equals(sb.toString()) это я понял :) а еще гигантское спасибо за for(String string; (string = d.readLine())!=null; ) не знал что в яве так можно прям как на питоне for x in range list и все никаких заморочек . © . соррри я напарил :) насчет о самой тупой конструкции while (sb.toString().equals(null)); согласен тупая надо считать так sb.toString().equals("null") только вот про "!" не подумал Так вот при объявлении vm выделяет память для объекта и заполняет её нулями. При инициализации заполняет нужными значениями. Теперь ежели я использую конструкции == или != для объектов то сравниваются ссылки, а ежели equals то сравниваются значения областей памяти выделеной под сравниваемые объекты. Поэтому то и while (sb.toString()!="null"); всегда true ссылки на объекты то разные . © . понял пачиму и sb.toString() никогда не вернет null :) спасибо и на этом тоже Наконец понял алилуйаааа во это ООП после паскаля сложно как Пайду еще пачитаю главу 3 :D) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2005, 18:42 |
|
||
|
подскажите пожалуйста как будет правильно
|
|||
|---|---|---|---|
|
#18+
Voobse ne o4en haroshij sposob pereka4ki fajlov(lleming ). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2005, 12:10 |
|
||
|
подскажите пожалуйста как будет правильно
|
|||
|---|---|---|---|
|
#18+
Tomaso возможно действительно и не лучший но меня нтересовало только как определить конец файла и все :) . а как будет выглядеть лучший вариант (плиз с исходниками ) и пачиму он лучше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2005, 23:49 |
|
||
|
подскажите пожалуйста как будет правильно
|
|||
|---|---|---|---|
|
#18+
llemingTomaso а как будет выглядеть лучший вариант (плиз с исходниками ) и пачиму он лучше Думаю потому, что он будет написан на транслите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2005, 10:32 |
|
||
|
подскажите пожалуйста как будет правильно
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2005, 10:44 |
|
||
|
подскажите пожалуйста как будет правильно
|
|||
|---|---|---|---|
|
#18+
2Науг Вот что значит делать не**й ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2005, 11:59 |
|
||
|
подскажите пожалуйста как будет правильно
|
|||
|---|---|---|---|
|
#18+
wessen2Науг Вот что значит делать не**й Сначала написал, потом подумал. Ты ведь это не руками все делал? Да? :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2005, 12:04 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=33099329&tid=2152268]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
80ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 250ms |
| total: | 430ms |

| 0 / 0 |
