Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 198
  • 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
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 
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

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

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