[Webinar] Streamline your web hosting managementRegister Today

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 200
  • Last Modified:

Open an html file from an application

Hi Experts,


I have an application and a menu called Reports. From that menu I have to open an HTML file with a browser.
Actually I have a menu open that can open files but I can't open HTML files.
Can you help me with that.



Thank you
0
blarouche
Asked:
blarouche
  • 14
  • 8
  • 6
  • +1
2 Solutions
 
CEHJCommented:
Try

Runtime.getRuntime().exec("cmd.exe /c start " + url);
0
 
blaroucheAuthor Commented:
Here is my code
I've got the following error : Unhandled exception type IOException



class MyHTMLListener extends AbstractAction{
            
                         //display message dialog when user selects About ...
                    public void actionPerformed( ActionEvent event )
                    {
                    Runtime.getRuntime().exec("cmd.exe /c start" + "E:/JAVA DISTRIBUTION/My CTA Platform/jars/reports/SwingTrader--bund--Wed_Nov_15_225311_EST_2006/Summary.html" );
                    }
            
                   } // end anonymous inner class
0
 
Peter KwanCommented:
You need to catch the IOException by surrounding the Runtime.getRuntime.exec() call with try-catch, like this:

try {
Runtime.getRuntime().exec("cmd.exe /c start" + "E:/JAVA DISTRIBUTION/My CTA Platform/jars/reports/SwingTrader--bund--Wed_Nov_15_225311_EST_2006/Summary.html" );
} catch (java.io.IOException e) { }
0
Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

 
blaroucheAuthor Commented:
I did exactly that.
Now I can run the code but get nothing on screen
0
 
blaroucheAuthor Commented:
The file loaded in my computer is not on my C drive:

E:/JAVA DISTRIBUTION/My CTA Platform/jars/reports/SwingTrader--bund--Wed_Nov_15_225311_EST_2006/Summary.html
0
 
Peter KwanCommented:
Can you please type "e.printStackTrace();" in your catch block and re-run it? See if there is any exception thrown.

Also, can you run it by typing the command in "Run" dialog ("Start->Run")?
0
 
Peter KwanCommented:
Oops... You missed a space between start and url.
0
 
blaroucheAuthor Commented:
Ok

I have included the e.printStackTrace() in my catch block and rerun. No error message appears in my console.

I have open the file with the Run dialog and it worked without problem


0
 
blaroucheAuthor Commented:
Yes you're right it helped but I still can't get my HTML file....

I have a error message from Windows stating that it can't find E:/JAVA

I thing that the problem comes with the separated bars /. If I can this / with \ Java is not accepting it ??



0
 
Peter KwanCommented:
I don't think so. You need to quote the url with double-quotes, as the following:

Runtime.getRuntime().exec("cmd.exe /c start" + "\"E:/JAVA DISTRIBUTION/My CTA Platform/jars/reports/SwingTrader--bund--Wed_Nov_15_225311_EST_2006/Summary.html\"" );
0
 
Peter KwanCommented:
Oops... should be:

Runtime.getRuntime().exec("cmd.exe /c start " + "\"E:/JAVA DISTRIBUTION/My CTA Platform/jars/reports/SwingTrader--bund--Wed_Nov_15_225311_EST_2006/Summary.html\"" );
0
 
CEHJCommented:
Try

Runtime.getRuntime().exec(new String[]{ "cmd.exe", "/c", "start", "E:/JAVA DISTRIBUTION/My CTA Platform/jars/reports/SwingTrader--bund--Wed_Nov_15_225311_EST_2006/Summary.html" });
0
 
blaroucheAuthor Commented:
We are making progress...


Now what I get is a command window from DOS with this message :

Microsoft Windows XP [version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

E:\JAVA DISTRIBUTION\My CTA Platform\src\SteadFast>
0
 
CEHJCommented:
Try making those forward slashes into double backslashes
0
 
CEHJCommented:
(Only in the path of course)
0
 
blaroucheAuthor Commented:

I don't know why I get this message E:\JAVA DISTRIBUTION\My CTA Platform\src\SteadFast>

since I have included this directory in my code E:/JAVA DISTRIBUTION/My CTA Platform/jars/reports/SwingTrader--bund--Wed_Nov_15_225311_EST_2006/Summary.html
0
 
CEHJCommented:
Because only part of the command (starting the command intepreter [cmd.exe] ) has been fulfilled
0
 
blaroucheAuthor Commented:
CEHJ

I tried double backslashes. Same result ...
0
 
CEHJCommented:
Take pkwan's last and turn forward slashes in the path to doubled backslashes
0
 
blaroucheAuthor Commented:



Here is what I did :

Runtime.getRuntime().exec("cmd.exe /c start " + "\"E:\\JAVA DISTRIBUTION\\My CTA Platform\\jars\\reports\\SwingTrader--bund--Wed_Nov_15_225311_EST_2006\\Summary.html\"" );


Same result....




0
 
Peter KwanCommented:
Can you please try to copy your summary.html and put it under E:

and run as:
Runtime.getRuntime().exec("cmd.exe /c start " + "\"E:\\Summary.html\"" );
0
 
blaroucheAuthor Commented:
I tried it same result. I get a DOS console with the same message.


Guys maybe I forgot to mention a very important thing. All my Java distribution is install on E drive.
I don't know if it matters ?

0
 
blaroucheAuthor Commented:
Guys I found it researching on the net.

I am not programming since a long time so I don't know why it works but it works !!!

Here is the code I used :

 Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " +
                                            "E:/JAVA DISTRIBUTION/My CTA Platform/jars/reports/SwingTrader--bund--Wed_Nov_15_225311_EST_2006/Summary.html".toString());
0
 
blaroucheAuthor Commented:

Now I would like the result to appear in a  TextArea. Is it possible ?



0
 
CEHJCommented:
You need to use  JEditorPane if you want the html to be interpreted
0
 
blaroucheAuthor Commented:

Now that I Have this :

Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " +
                    pathreports+"SwingTrader--bund--Wed_Nov_15_225311_EST_2006/index.html".toString());
               }catch(IOException e){};


How do I put that into a JEditorPane ?
0
 
CEHJCommented:
0
 
blaroucheAuthor Commented:
When I do this I have the same problem as before nothing's happens

 try {
                            String url = "\"E:\\JAVA DISTRIBUTION\\My CTA Platform\\jars\\reports\\SwingTrader--bund--Wed_Nov_15_225311_EST_2006\\Summary.html\"" ";
                            JEditorPane editorPane = new JEditorPane(url);
                            editorPane.setEditable(false);
                       
                            JFrame frame = new JFrame();
                            frame.getContentPane().add(editorPane, BorderLayout.CENTER);
                            frame.setSize(200, 200);
                            frame.setVisible(true);
                        } catch (IOException e) {
                        }
0
 
objectsCommented:
0

Featured Post

The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

  • 14
  • 8
  • 6
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now