Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Маленькие классы, Помощники 
:(
    Опции темы
3,14
Дата 10.1.2006, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1614
Регистрация: 18.6.2004
Где: Н. Новгород

Репутация: 6
Всего: 24



LSD, не согласен что файлы должны закрываться в этом классе, ибо в нём они не открываются.


--------------------
Может быть, это только мой бред,
Может быть, жизнь не так хороша,
Может быть, я не выйду на свет,
Но я летал, когда пела душа...
PM MAIL   Вверх
LSD
Дата 10.1.2006, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15708
Регистрация: 24.3.2004

Репутация: 209
Всего: 537



Цитата(3 @ 14, 10.1.2006, 14:27 Найти цитируемый пост)
LSD, не согласен что файлы должны закрываться в этом классе, ибо в нём они не открываются.

А это?
Код
new Exception(message).printStackTrace(new PrintWriter(new FileOutputStream(out), true));



--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
3,14
Дата 10.1.2006, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1614
Регистрация: 18.6.2004
Где: Н. Новгород

Репутация: 6
Всего: 24



Подожди, по-моему создание FileOutputStream не открывает файл, файл уже передаётся в ф-ию открытым, или я что-то путаю?

Это сообщение отредактировал(а) 3,14 - 10.1.2006, 15:13


--------------------
Может быть, это только мой бред,
Может быть, жизнь не так хороша,
Может быть, я не выйду на свет,
Но я летал, когда пела душа...
PM MAIL   Вверх
LSD
Дата 10.1.2006, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15708
Регистрация: 24.3.2004

Репутация: 209
Всего: 537



FileOutputStream открывается именно при создании, у него же нет специальных методов для открытия, только для закрытия. И вообще, раз ты пишешь в него StackTrace, то он же должен быть открыт.
Добавлено @ 15:19
А File, это просто указатель на файл, он не открывает файл. Сам файл может и не существовать.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
3,14
Дата 11.1.2006, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1614
Регистрация: 18.6.2004
Где: Н. Новгород

Репутация: 6
Всего: 24



Не знал, тогда вот поправленный вариант:

Код

import java.io.*;

/**    
 * @author http://vingrad.ru/@3,14    
 * Class prints statck trace. 
 * Insert the call of class methods in to the place where you want to get
 * stack trace :)
 */
public class StackTrace
{
    protected static String message = "Printing stack trace";

    public static void printTrace(OutputStream out)
    {
        new Exception(message).printStackTrace(new PrintWriter(out, true));
    }

    public static void printTrace(File out) throws java.io.FileNotFoundException, java.io.IOException
    {
        OutputStream outputStream = new FileOutputStream(out);
        new Exception(message).printStackTrace(new PrintWriter(outputStream, true));
        outputStream.close();
    }

    public static void printTrace(File out, boolean append) throws java.io.FileNotFoundException, java.io.IOException
    {
        OutputStream outputStream = new FileOutputStream(out, append);
        new Exception(message).printStackTrace(new PrintWriter(outputStream, true));
        outputStream.close();
    }

    public static void printTrace()
    {
        new Exception(message).printStackTrace(new PrintWriter(System.out, true));
    }
}


Это сообщение отредактировал(а) 3,14 - 17.1.2006, 10:52


--------------------
Может быть, это только мой бред,
Может быть, жизнь не так хороша,
Может быть, я не выйду на свет,
Но я летал, когда пела душа...
PM MAIL   Вверх
chief39
Дата 14.1.2006, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


карманная тигра
***


Профиль
Группа: Участник Клуба
Сообщений: 1631
Регистрация: 20.5.2005
Где: Киев

Репутация: 15
Всего: 77



Цитата(Lamer George @ 7.1.2006, 20:35 Найти цитируемый пост)

Я завтра закреплю тему с соответствующим предложением-обращением к участникам форума. Ну а наполняемость зависит только от нас.

Ииии??? ;) Напоминаю, ибо скоро тема уползёт далеко вниз и уже никто не вспомнит smile



--------------------
Люди - это свечи. Они либо горят, либо их - в жопу!(с)

PM MAIL   Вверх
Domestic Cat
Дата 14.1.2006, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 50
Всего: 172



Цитата(chief39 @ 14.1.2006, 06:04 Найти цитируемый пост)

Ииии??? ;) Напоминаю, ибо скоро тема уползёт далеко вниз и уже никто не вспомнит smile

Закрепил.


--------------------

PM   Вверх
batigoal
Дата 14.1.2006, 20:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 24
Всего: 151



Да я помню все, расслабьтесь smile

Просто есть сразу несколько новостей, Я их скопом проанонсирую. Да и эту тему немного реорганизуем. Лучше делать так, как Доместик делал с паттернами - в одном (закрытом) топике материал, в другом - обсуждение.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
Guest
Дата 15.1.2006, 15:55 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(LSD @ 9.1.2006, 23:41)
1. Искать надо.
2. Всегда можно спросить автора, что да как.

1. А здесь, на форуме, что искать не придется?

2. Ага, щаз, автор отдал класс, дописал проект, потом свалил на другой форум и спросишь ты его. Лучше заставлять подробно комментить код перед приемом его в библиотеку
  Вверх
Guest
Дата 15.1.2006, 15:57 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Ну вот. И как теперь в этой теме что-то путнее найти? Если сползли на обсуждение закрытия файлов, то непонятно, какая же версия класса последняя и правильная
  Вверх
3,14
Дата 16.1.2006, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1614
Регистрация: 18.6.2004
Где: Н. Новгород

Репутация: 6
Всего: 24



Цитата(Guest @ 15.1.2006, 15:57 Найти цитируемый пост)

Если сползли на обсуждение закрытия файлов, то непонятно, какая же версия класса последняя и правильная

Guest, их всего 2, последняя и есть правильная smile


--------------------
Может быть, это только мой бред,
Может быть, жизнь не так хороша,
Может быть, я не выйду на свет,
Но я летал, когда пела душа...
PM MAIL   Вверх
sergejzr
Дата 16.1.2006, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 6
Всего: 360



Набер
Цитата(Guest @ 15.1.2006, 13:57 Найти цитируемый пост)

Ну вот. И как теперь в этой теме что-то путнее найти? Если сползли на обсуждение закрытия файлов, то непонятно, какая же версия класса последняя и правильная

Не расстраивайся. Пока проект в стадии разработки - это всегда так. Соберунтся ещё пара-тройка классов, модераторы подчистят топик, и буде всё пучком. На то он и форум, чтобы обсуждать. smile


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Guest
Дата 16.1.2006, 21:28 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Тогда предлагаю обсуждать каждый "маленький класс" в своей ветке, а эту сделать рид-онли и складывать в нее готовые версии
  Вверх
batigoal
Дата 16.1.2006, 22:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 24
Всего: 151



Имменно так и будет сделано. Как только на работе чуть-чуть снизится давление...


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
Zandr
Дата 17.1.2006, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 433
Регистрация: 16.7.2004
Где: Новосибирск

Репутация: 9
Всего: 13



По поводу закрытия файла... Наши американские коллеги писали что-то типа:
Код

try {
    File myFile = new File("....");
} catch (Exception e) {
    System.out.println("File doesn't exists");
}

Писец, и они ведь за это деньги получают...
По поводу комментов на русском языке... Нет комментов. Лично я против. Комменты на русском делайте к 1С Бухгалтерии.
Ну а по существу... Метод хорошо применять к пользовательскому вводу. Он тримает пробельные символы в начале и в конце строки (это и String класс умеет), плюс ко всему заменяет дублирующиеся пробельные символы одиночным пробелом. Немного противоречит Java CodeStyle guidlines, не обессутте.
Код

    public static String normalizeWhitespaces(String s) {
        char c;
        boolean needSpace = false;
        int index = 0, length = s.length();
        StringBuffer normalized = new StringBuffer(length);
        while (index < length && Character.isWhitespace(normalized.charAt(index))) {
            index++;
        }
        while (index < length) {
            if (Character.isWhitespace(c = s.charAt(index++))) {
                needSpace = true;
            } else {
                if (needSpace) {
                    needSpace = false;
                    normalized.append(' ');
                }
                normalized.append(c);
            }
        }
        return normalized.toString();
    }

PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1744 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.