Problem in opening a doc file using Runtime.exec()

Code:
import java.io.*;
class StreamGobbler extends Thread {
    InputStream is;
    String type;
    StreamGobbler(InputStream is, String type) {
        this.is = is;
        this.type = type;
    public void run() {
        try {
            InputStreamReader isr = new InputStreamReader(is);
            BufferedReader br = new BufferedReader(isr);
            String line=null;
            while ( (line = br.readLine()) != null) System.out.println(type + ">" + line);   
        catch (IOException ioe) {
             ioe.printStackTrace(); 
public class GoodWindowsExec {
    public static void main(String args[]) {
         String file = "test.doc";
         String appPath = "/C";
        try {
            String osName = System.getProperty("os.name" );
            System.out.println("OS : " + osName);
            String[] cmd = new String[3];
            if( osName.equals( "Windows NT" ) || osName.equals( "Windows XP" )) {
                cmd[0] = "cmd.exe" ;
                cmd[1] = appPath;
                cmd[2] = file;
            else if( osName.equals( "Windows 95" ) ) {
                cmd[0] = "command.com" ;
                cmd[1] = appPath;
                cmd[2] = file;
            Runtime rt = Runtime.getRuntime();
            System.out.println("Execing " + cmd[0] + " " + cmd[1] + " " + cmd[2]);
            Process proc = rt.exec(cmd);
            // any error message?
            StreamGobbler errorGobbler = new StreamGobbler(proc.getErrorStream(), "ERROR");           
            // any output?
            StreamGobbler outputGobbler = new StreamGobbler(proc.getInputStream(), "OUTPUT");
            // kick them off
            errorGobbler.start();
            outputGobbler.start();
            // any error???
            int exitVal = proc.waitFor();
            System.out.println("ExitValue: " + exitVal);       
        catch (Throwable t) {
            t.printStackTrace();
}I got this code from internet. Program will work fine if my "test.doc" is in "C:\test.doc" directory. Is there any way to get the application path and open the doc file or how to give a specified path for my doc file
EG:- "C:\TestDir\test.doc"
Thanks

Well /C is not the path to the app. It is a switch to
the command line.
set your file name to "C:/test.doc"
~TimSorry, I guess my reply doesn't really answer the problem. But you can supply the entire path as part of the file name string.
String file = "C:/Path/To/My/File/to execute/test.doc"

Similar Messages

  • How to open an .txt file or .doc file using Runtime.exec()?

    Thanks

    Do:String[] cmdLineArray = new String[3];
    cmdLineArray[0] = "cmd.exe";
    cmdLineArray[1] = "/c";
    cmdLineArray[2] = yourCompletePathFile;
    Runtime.getRuntime().exec(cmdLineArray);

  • How to open a doc file using jsp Anchor tag

    when i am trying to open a doc file using a jsp it is opening with out proper alignment.
              how to open a doc file with proper alignment using Anchor Tag in JSp Page
              

    Hello!
    Does some one of you had open a MS word file (.doc) in Java search for a token like [aToken] replace it with another text and then feed it to a stream of save it?
    I want to build a servlet to open a well formatted and rich on media (images) ms word document search for tokens and replace them with information form a web form.
    Any Ideas?
    Thank you in advanced.

  • How to capture output of java files using Runtime.exec

    Hi guys,
    I'm trying to capture output of java files using Runtime.exec but I don't know how. I keep receiving error message "java.lang.NoClassDefFoundError:" but I don't know how to :(
    import java.io.*;
    public class CmdExec {
      public CmdExec() {
      public static void main(String argv[]){
         try {
         String line;
         Runtime rt = Runtime.getRuntime();
         String[] cmd = new String[2];
         cmd[0] = "javac";
         cmd[1] = "I:\\My Documents\\My file\\CSM\\CSM00\\SmartQ\\src\\E.java";
         Process proc = rt.exec(cmd);
         cmd = new String[2];
         cmd[0] = "javac";
         cmd[1] = "I:\\My Documents\\My file\\CSM\\CSM00\\SmartQ\\src\\E";
         proc = rt.exec(cmd);
         //BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
         BufferedReader input = new BufferedReader(new InputStreamReader(proc.getErrorStream()));
         while ((line = input.readLine()) != null) {
            System.out.println(line);
         input.close();
        catch (Exception err) {
         err.printStackTrace();
    public class E {
        public static void main(String[] args) {
            System.out.println("hello world!!!!");
    }Please help :)

    Javapedia: Classpath
    How Classes are Found
    Setting the class path (Windows)
    Setting the class path (Solaris/Linux)
    Understanding the Java ClassLoader
    java -cp .;<any other directories or jars> YourClassNameYou get a NoClassDefFoundError message because the JVM (Java Virtual Machine) can't find your class. The way to remedy this is to ensure that your class is included in the classpath. The example assumes that you are in the same directory as the class you're trying to run.
    javac -classpath .;<any additional jar files or directories> YourClassName.javaYou get a "cannot resolve symbol" message because the compiler can't find your class. The way to remedy this is to ensure that your class is included in the classpath. The example assumes that you are in the same directory as the class you're trying to run.

  • Opening a new browser using Runtime.exec()...

    I am trying to open a new IE browser window (from Windows) using Runtime.exec( ) command. The problem is that it uses the existing browser window instead of opening a new window. (opens a new window only if there isn't any other browser window)
    Here is the snippet of code that I am using to do this:
    String WIN_PATH = "rundll32";
    String WIN_FLAG = "url.dll,FileProtocolHandler";
    String url = "http://www.cnn.com";
    String cmd = WIN_PATH + " " + WIN_FLAG + " " + url;
    Process p = Runtime.getRuntime().exec(cmd);
    Thanks in advance.
    -Kishore

    >
    opening browser window seems to be easy task, >Even easier with [Desktop.browse(URI)|http://java.sun.com/javase/6/docs/api/java/awt/Desktop.html#browse(java.net.URI)].
    >
    ..can someone help me with closing browser window from java?>Which browser window?
    If you're app. opens a page that you control, it can be done from the web page. See [Have a Java button close the browser window|http://www.rgagnon.com/javadetails/java-0282.html] or the JS based [Close the browser|http://www.rgagnon.com/jsdetails/js-0079.html].
    If you do not control the page, don't close it - the user knows where the little 'x' button is.
    As an aside, despite being opposite ends of the one question, I do not consider this question to be 'part' of the current thread. I think you would have been better off starting a dedicated thread and explaining more fully what the use case is (and adding lots of Dukes).

  • Problem wiht Running Batch File using Runtime.exec()

    I am writting one program which will create a jar file using a windows Batch file.
    The main program is in the folder "d:\CmdExec.java".
    The other one to which a jar file to be created is in the folder "e:\folder\HelloWorld.class"
    The contents inside the "e:\folder" are
    e:\folder\HelloWorld.class
    e:\folder\mainClass.txt
    e:\folder\run.bat
    The mainClass.txt contains "Main-Class: HelloWorld"
    The Run.bat file contains "jar cmf mainClass.txt HelloWorld.jar *.class"
    The coding for CmdExec.java is as follows
    import java.io.*;
    import java.awt.Desktop;
    public class CmdExec {
    public static void main(String argv[]) {
    try {
    Desktop desktop = null;
    if (Desktop.isDesktopSupported()) {
    desktop = Desktop.getDesktop();
    desktop.open(new File("e:\\folder\\run.bat"));
    catch (Exception err) {
    err.printStackTrace();
    When i double click the file e:\folder\Run.bat, it will create a jar file for HelloWorld.class.
    But, i want to create that jar file using the java program CmdExec.java.
    When i run CmdExec.java, the batch file is opened. But it shows error as "Can't find the specified file"
    But when i copy the following files to "d:\",
    e:\folder\HelloWorld.class
    e:\folder\mainClass.txt
    the jar file is created using the CmdExec.java.
    But,
    e:\folder\HelloWorld.class
    e:\folder\mainClass.txt
    these files should be in the folder"e:\folder" only.
    Can anyone Help me this Problem?
    Or Anyother way for creating a jar file for one program by using another program?
    Help me soon.............

    Try this. It's not running a bat file. You can say it almost is a bat file.
    import java.io.*;
    import java.util.Scanner;
    public class CmdExec {
        public static void main(String argv[]) {
            try {
                Process p = Runtime.getRuntime().exec("jar cmf mainClass.txt HelloWorld.jar *.class");
                Scanner s1=new Scanner(new InputStreamReader(p.getInputStream()));
                while(s1.hasNextLine())
                    System.out.println(s1.nextLine());
                p.waitFor();
                System.out.println(p.exitValue());
                if(p.exitValue()==0)
                    System.out.println("Okay");
                else
                    System.out.println("Error");
            catch (Exception ex) {
                ex.printStackTrace();
    }Run it in the same folder as mainClass.txt
    Edited by: ColacX on Aug 1, 2008 10:35 AM

  • Problem in(IE 6) Opening non-html files using Servlets (Urgent)

    Hi,
    My application developed using struts 1.3 have an option to upload and download any kind of files.
    The uploaded files shall be displayed as hyperlinks in the HTML page. On click of a hyperlink, a servlet shall be called and the corresponding file shall be opened as an attachment. But i am facing problem in opening the files.
    The problem is,
    Whenever i try to open a file of type (.doc or .xls or .pdf) the browser(*IE 6*) does not identify the content type. So it opens the content in a browser as binary content. But it works perfectly in IE 7 and firefox. (I used mim.types file to fetch the content type dynamically based on the file chosen)
    However, the code i used to open a .doc file is,
    response.setContentType("application/msword");
    response.setHeader("Content-Disposition", "attachment;filename="+content.getFileName());
    response.setContentLength(content.getStream().size());
    ServletOutputStream out;
    out = response.getOutputStream();
    content.getStream().writeTo(out);
    out.flush();
    content - is a TO which shall hold the fileName and ByteArrayOutputStream ,etc.
    Please anyone can help me solving this issue.
    Thanks,

    thanks..
    its working fine now. i just added response.reset() before setting the properties of HTTPResponse object.

  • Using Runtime exec() to open java on other directory

    HI, I have a little problem and i hope everyone can help me out abit. You see when u use Runtime.exec(), how to you use it so that when the file you want to open is different from your program directory.
    For example,
    my program is in c:\windows\desktop
    but the file i want to open eg. Somthing.class is in c:\my documents\
    How do I open it using java and i wish to open the file using the java command. Thank a million

    Runtime.getRuntime().exec("cmd /c start /d\"C:\\my documents\" java.exe Somthing");
    Can someone explain the /c start /d\"C:\Mydocuments\" java.exe Somthing.
    And I try to use ping in RunTime.exec,how do I construct the string?And how do i get the result of the ping?
    Thanks

  • Strange problem when opening word doc situated in WLS virtual dir

    Hi all,
    we have a strange problem when opening word doc
    situated in C:\Oracle\Middleware\as_1\forms\webutil
    we put some word docs there and tried to open from forms using for example web.show_document('http://wp0606:9001/forms/webutil/mug00103.doc', '_blank');
    no problem using FF, however in IE8 the word doc is shown in its binary format, this also happens when we try to open the doc in IE8
    however when we google and search for instance for a test.doc and then click on this url a file save dialog is shown
    that's why we believe that this might be due to a configuration issue of WLS
    any help would be greatly appreciated
    Kr
    Martin

    I think you have 2 ways to go here. Figure out what html is from wherever weblogic gets it, meaning you have to delve into the docs, snoop
    around in directories and find what it must be sending (This is going to be unavoidable if you are going to change what weblogic is doing.
    Sooner or later you have to try to figure out where it gets this stuff from)
    or
    you can experimentally snoop on your url with a tool like wget or curl. These are fundamental web tools.
    The latter is always a useful thing to be able to do. (you need to formulate a query to get the content-type).
    Whoever managed to get weblogic to serve any files in the first place probably can figure this out.

  • Firefox keeps aksing me what programs that i want to open a doc.file with every time i try to download a doc file.

    the program that I use is open office. I chekced the box that says that this will always open a doc file but it keeps asking me about it.

    Firefox should be able to remember your preference -- as long as the site is specifically identifying the file as a distinct content type. Some sites may fail to do this and simply indicate it is a binary file that the browser can't handle, in which case Firefox doesn't store a specific preference.
    So this could be a problem caused by how the server is identifying the content type. Or it could be a problem with the settings file that stores download preferences. The workaround for that problem is to remove the file and have Firefox rebuild it. If you have changed settings from the default (for example, how to view PDFs) you will have to change those settings again.
    If you want to try it:
    Open your current Firefox settings (AKA Firefox profile) folder using
    Help > Troubleshooting Information > (in the first table) "Show in Finder" button
    Leaving that window open, switch back to Firefox and Exit/Quit
    Pause while Firefox finishes its cleanup, then rename '''mimeTypes.rdf''' to something like mimeTypes.old
    Restart Firefox and see whether its memory improves.

  • How to open a ".doc" file with ms word directly with this servlet?

    Here is a servlet for opening a word or a excel or a powerpoint or a pdf file,but I don't want the "file download" dialog appear,eg:when i using this servlet to open a word file,i want open the ".doc" file with ms word directly,not in IE or save.
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    import java.util.*;
    public class OpenWord extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    doPost(request,response);
    public void doPost(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException {
    String strFileName = req.getParameter("filename");
    int len = 0;
    String strFileType1 = "application/msword";
    String strFileType2 = "application/vnd.ms-excel";
    String strFileType3 = "application/vnd.ms-powerpoint";
    String strFileType4 = "application/pdf";
    String strFileType = "";
    if(strFileName != null) {
         len = strFileName.length();
         if(strFileName.substring(len-3,len).equalsIgnoreCase("doc")) {
              strFileType = strFileType1;
         } else if(strFileName.substring(len-3,len).equalsIgnoreCase("xls")) {
              strFileType = strFileType2;
         } else if(strFileName.substring(len-3,len).equalsIgnoreCase("ppt")) {
              strFileType = strFileType3;
         } else if(strFileName.substring(len-3,len).equalsIgnoreCase("pdf")) {
              strFileType = strFileType4;
         } else {
              strFileType = strFileType1;
    if(strFileName != null) {
         ServletOutputStream out = res.getOutputStream();
         res.setContentType(strFileType); // MIME type for word doc
    //if uncomment below sentence,the "file download" dialog will appear twice.
         //res.setHeader("Content-disposition","attachment;filename="+strFileName);
         BufferedInputStream bis = null;
         BufferedOutputStream bos = null;
         String path = "d:\\"; //put a word or a excel file here,eg a.doc
         try {
         File f = new File(path.concat(strFileName));
         FileInputStream fis = new FileInputStream(f);
         bis = new BufferedInputStream(fis);
         bos = new BufferedOutputStream(out);
         byte[] buff = new byte[2048];
         int bytesRead;
         while(-1 != (bytesRead = bis.read(buff, 0, buff.length))) {
         bos.write(buff, 0, bytesRead);
         } catch(NullPointerException e) {
         System.out.println ( "NullPointerException." );
         throw e;
         } catch(FileNotFoundException e) {
         System.out.println ( "FileNotFoundException." );
         throw e;
         } catch(final IOException e) {
         System.out.println ( "IOException." );
         throw e;
         } finally {
         if (bis != null)
         bis.close();
         if (bos != null)
         bos.close();

    Hello!
    Does some one of you had open a MS word file (.doc) in Java search for a token like [aToken] replace it with another text and then feed it to a stream of save it?
    I want to build a servlet to open a well formatted and rich on media (images) ms word document search for tokens and replace them with information form a web form.
    Any Ideas?
    Thank you in advanced.

  • I recently updated my OS to OS X. I had to update my word and powerpoint etc... to 2011 version, but now when I want to open a .doc file made in word 2003 it removes all the text in it! I did not back anything up!

    I recently updated my OS to OS X. I had to update my word and powerpoint etc... to 2011 version, but now when I want to open a .doc file made in word 2003 it removes all the text in it! I did not back anything up! All my mums work is on there for her job and now she cant use it! I need help fast!

    If you updated from 2003 that must be on a Windows machine, can you recover them from there?

  • How to copy .gif files from one dir to another using runtime.exec

    hello sir/madem,
    i want to copy some gif and jepg files from one directory to another dir using swing.
    when i tried with using runtime.exec(String[]) i am getting the following error.
    anybody please tell me what is the problem in my program
    java.io.IOException: CreateProcess: ren c:/windows/desktop/copy.java c:/windows/
    cc.java error=0
    code:
    public class copy
         public static void main(String[] args)
              try{
                   String s[]=new String[3];
                        s[0]="ren";
    s[1]="c:/windows/desktop/copy.java";
    s[2]="c:/windows/cc.java";
              Runtime rt=Runtime.getRuntime();
    Process p=rt.exec(s);
              int i=p.waitFor();
              System.out.println("i is "+i);
              }catch(Exception e){System.out.println(e);}
    please mail me to [email protected]
    thanks in advance
    samba reddy
    india

    why use the Runtime? There are methods for this in the IO package ...

  • How to call DOC file using web.show_documents

    Hi friends ,
    If I use the built-ins web.show_documents for open the *.doc file
    I am getting the following error
    ORA-06550: line 5, column 2:
    PLS-00201: identifier 'README.DOC' must be declared
    ORA-06550: line 5, column 2:
    PL/SQL: Statement ignored
    DAD name: WebDB
    PROCEDURE : readme.doc
    URL : http://132.148.160.3:80/WebDB/readme.doc?
    PARAMETERS :
    ===========
    ENVIRONMENT:
    ============
    SERVER_PORT=80
    SERVER_SOFTWARE=Oracle WebDb Listener 2.1
    SERVER_NAME=132.148.160.3
    GATEWAY_INTERFACE=CGI/1.1
    SERVER_PROTOCOL=HTTP/1.0
    REMOTE_HOST=132.148.160.251
    REMOTE_ADDR=132.148.160.251
    REQUEST_METHOD=GET
    QUERY_STRING=
    SCRIPT_NAME=
    PATH_INFO=/WebDB/readme.doc
    HTTP_ACCEPT=*/*
    HTTP_ACCEPT_LANGUAGE=en-us
    HTTP_ACCEPT_ENCODING=gzip, deflate
    HTTP_USER_AGENT=Mozilla/4.0 (compatible; MSIE 5.01; Windows NT)
    HTTP_HOST=132.148.160.3
    HTTP_CONNECTION=Keep-Alive
    Please advice How to call Doc file in web.
    Thanx
    null

    The syntax to execute web.show_document:
    web.show_document('http://server_ip_or_server_name/virtual_path/filename.doc')
    The virtual path has been defined in Apache (if you run on web with Apache) or has been defined in Internet Inoformation Server (if you are runing with Internet Information Server.)
    null

  • How to open the pdf file using LabVIEW program

    I want to open the pdf file using the system exe, but it is not happening . Can you help me?
    Solved!
    Go to Solution.

    In simpler version
    Mark the satisfied answer as accepted solution for your question,you mistakenly marked youself 
    Message Edited by Baji on 04-07-2009 05:03 PM
    Balaji PK (CLA)
    Ever tried. Ever failed. No matter. Try again. Fail again. Fail better
    Don't forget Kudos for Good Answers, and Mark a solution if your problem is solved.
    Attachments:
    open pdf.JPG ‏25 KB

Maybe you are looking for

  • OverDrive Audiobooks transfer to iTouch, but do not show up in Audiobooks section on iTouch?

    I have been transerring several Audiobooks from OverDrive to my iTouch. Most of my audiobooks will show up in the Audiobook folder on the iTouch, but about five only show up in a Playlist - not the Audiobook folder. In iTunes, they are in the "Book"

  • How can I create a box with the option of either a check or "N/A"?

    Hi there guys, just a quick question which has been bugging me for days now! I have a form in which I need to have a check box, but when the box is not checked I need it to show up as "N/A", is that possible? I have tried using a dropdown box instead

  • Folder names with diacritics & NFS shares

    OK; sometimes things appear simple but are not. Sharing files with an OSX client has been, and is a nightmare in a Linux environment. We have a mostly Ubuntu environment and have tried Samba, and NFS. After a significant amount of work the Mac can do

  • Flex Automation - prerequisites

    Hi We have Flash Builder 4.0 with Premium License.  We have moved Flex 3.6 to 4.6.  Could you please let us know if this configuration is OK for automation, so that we don't run into "License is not present" error. I have searched this all over - but

  • Apple logo freeze

    have an apple iphone 3GS. The phone freezes on the IOS bootup ( apple logo remains on constantly) When plugged into a computer with the latest version of iTunes, the computers does not recognize the Phone. iTunes will recognize other iphone that do n