Открыть броузер
От: -Cheese-  
Дата: 14.05.07 08:34
Оценка:
Привет всем!
Задача проста... в програмке формируется файл html, и его нужно просто показать пользователю с помощью броузера... который установлен в системе (для примера firefox).
Система как Windows, так и Linux...
Спасибо..
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: Открыть броузер
От: Nicht Россия  
Дата: 14.05.07 08:58
Оценка:
Здравствуйте, -Cheese-, Вы писали:

C>Привет всем!

C>Задача проста... в програмке формируется файл html, и его нужно просто показать пользователю с помощью броузера... который установлен в системе (для примера firefox).
C>Система как Windows, так и Linux...
C>Спасибо..

Если Java 1.6 то тебе поможет Activation API, и в частности java.awt.Desktop.open()
Только вот отрывает он файл. А вот заставить браузер показать html не сохраненный в файл, думаю будет сложновато.
Re[2]: Открыть броузер
От: Blazkowicz Россия  
Дата: 14.05.07 09:02
Оценка:
Здравствуйте, Nicht, Вы писали:

N>Если Java 1.6 то тебе поможет Activation API, и в частности java.awt.Desktop.open()

Разве java.awt.Desktop это Activation API? Мне казалось что это интегророваный проект JDIC. А activation что-то другое.
Re[2]: Открыть броузер
От: -Cheese-  
Дата: 14.05.07 09:16
Оценка:
Здравствуйте, Nicht, Вы писали:

N>Если Java 1.6 то тебе поможет Activation API, и в частности java.awt.Desktop.open()

установлен у всех 1.5....

N>Только вот отрывает он файл. А вот заставить браузер показать html не сохраненный в файл, думаю будет сложновато.

на диск в файл сохраняется...
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[3]: Открыть броузер
От: Nicht Россия  
Дата: 14.05.07 09:39
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

B>Здравствуйте, Nicht, Вы писали:


N>>Если Java 1.6 то тебе поможет Activation API, и в частности java.awt.Desktop.open()

B>Разве java.awt.Desktop это Activation API? Мне казалось что это интегророваный проект JDIC. А activation что-то другое.

Да, попутал. Посыпаю голову пеплом. С чего то мне казалось, что Desktop на основе Activation сделан. Сейчас поглядл, ничего подобного.
Re[3]: Открыть броузер
От: Nicht Россия  
Дата: 14.05.07 09:41
Оценка: 6 (1) :)
Здравствуйте, -Cheese-, Вы писали:

C>Здравствуйте, Nicht, Вы писали:


N>>Если Java 1.6 то тебе поможет Activation API, и в частности java.awt.Desktop.open()

C>установлен у всех 1.5....

N>>Только вот отрывает он файл. А вот заставить браузер показать html не сохраненный в файл, думаю будет сложновато.

C>на диск в файл сохраняется...

Ну тогда, как уже правильно меня поправил наш друг и соратник Blazkowicz, вам сюда.
Re[4]: Открыть броузер
От: toad  
Дата: 14.05.07 12:47
Оценка:
Здравствуйте, Nicht, Вы писали:

N>Ну тогда, как уже правильно меня поправил наш друг и соратник Blazkowicz, вам сюда.


Сорри за немного оффтоп ....
Нет ли случаем какой-нить готовой либы, которая умеет с файлами работать (копировать, удалять, ... ),
и чтоб она это делала нативными методами?
Увидел JDIC — обрадовался, думал там это есть, оказалось нет.
Особо интересует копирование ( через java это делать совсем не хочется)
Re[5]: Открыть броузер
От: Blazkowicz Россия  
Дата: 14.05.07 12:50
Оценка:
Здравствуйте, toad, Вы писали:

T>Особо интересует копирование ( через java это делать совсем не хочется)


Почему
Автор: soul
Дата: 27.10.03
?
Re[6]: Открыть броузер
От: toad  
Дата: 14.05.07 12:58
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

B>Здравствуйте, toad, Вы писали:


T>>Особо интересует копирование ( через java это делать совсем не хочется)


B>Почему
Автор: soul
Дата: 27.10.03
?


Интуитивно кажется, что натив быстрее работать будет, хотя не сравнивал.
Re[7]: Открыть броузер
От: Blazkowicz Россия  
Дата: 14.05.07 13:08
Оценка:
Здравствуйте, toad, Вы писали:

T>Интуитивно кажется, что натив быстрее работать будет, хотя не сравнивал.


Превентивная оптимизация. Борешься с проблемой которой ещё даже нет.
Re: Открыть броузер
От: bedrin  
Дата: 14.05.07 13:24
Оценка:
Здравствуйте, -Cheese-, Вы писали:

C>Привет всем!

C>Задача проста... в програмке формируется файл html, и его нужно просто показать пользователю с помощью броузера... который установлен в системе (для примера firefox).
C>Система как Windows, так и Linux...
C>Спасибо..

Посмотрите на package org.openqa.selenium.server.browserlunchers из проекта Selenium-RC
Re[5]: Открыть броузер
От: bolshik Россия http://denis-zhdanov.blogspot.com/
Дата: 14.05.07 14:32
Оценка:
Здравствуйте, toad, Вы писали:

T>Сорри за немного оффтоп ....

T>Нет ли случаем какой-нить готовой либы, которая умеет с файлами работать (копировать, удалять, ... ),
T>и чтоб она это делала нативными методами?
T>Увидел JDIC — обрадовался, думал там это есть, оказалось нет.
T>Особо интересует копирование ( через java это делать совсем не хочется)

Можно посмотреть на nio (direct buffer, memory-mapped files), но из своего опыта, когда возникло похожее желание, могу сказать, что эксперименты показали, что при копировании реально больших файлов (~2 Гб) разница между nio и вручную буферизованным io не ощущается.
http://denis-zhdanov.blogspot.com
Re: Открыть броузер
От: LDimas Россия  
Дата: 15.05.07 13:40
Оценка:
Здравствуйте, -Cheese-, Вы писали:

C>Привет всем!

C>Задача проста... в програмке формируется файл html, и его нужно просто показать пользователю с помощью броузера... который установлен в системе (для примера firefox).
C>Система как Windows, так и Linux...
C>Спасибо..

Попробуй этот код. Я тестил только под Windows


   private void openBrowser(String url) {
        String osName = System.getProperty("os.name");
        try {
            if (osName.startsWith("Mac OS")) {
                Class fileMgr = Class.forName("com.apple.eio.FileManager");
                Method openURL = fileMgr.getDeclaredMethod("openURL",
                        new Class[]{String.class});
                openURL.invoke(null, new Object[]{url});
            } else if (osName.startsWith("Windows"))
                Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + url);
            else { //assume Unix or Linux
                String[] browsers = {
                        "firefox", "opera", "konqueror", "epiphany", "mozilla", "netscape"};
                String browser = null;
                for (int count = 0; count < browsers.length && browser == null; count++)
                    if (Runtime.getRuntime().exec(
                            new String[]{"which", browsers[count]}).waitFor() == 0)
                        browser = browsers[count];
                if (browser == null)
                    throw new Exception("Could not find web browser");
                else
                    Runtime.getRuntime().exec(new String[]{browser, url});
            }
        }
        catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.