How to make System Calls from Java

System call is a mechanism to execute command line commands from an application.

When can we make System calls?

From a Java application we can make system calls in such situations as to copy a file/shortcut from one location to another, delete a file, to hide a folder to save it from accidental delete, to run a shortcut file or launch another application from java during run time etc.
Below is an example which shows how to make system calls from Java

package com;
 
publicclass SystemCallExample {
     
      /**
       *Method tocopyshoutcut form one location to another
       *
       */
      privatevoid copyShoutcut()
      {
            String souceLocation="";
            String destLocation="";
            String fileCopyCmd="";
            Process shortcutCpyPrs=null;
            try{
                  souceLocation = "C:\\Source\\TextPad.lnk";
                  destLocation = "C:\\Destination";
                 
                  fileCopyCmd = "copy \""+souceLocation +"\" \""+ destLocation+"\"";
                  shortcutCpyPrs = Runtime.getRuntime().exec(new String[]{"cmd","/c",fileCopyCmd});
                 
            }
            catch(Exception ex)
            {
                  if(shortcutCpyPrs!=null)
                  {
                        shortcutCpyPrs.destroy();
                  }
                  ex.printStackTrace();
                  System.exit(-1);
            }
      }
     
      /**
       *Method to execute shoutcut file
       *
       */
      privatevoid execShoutcut()
      {
           
            String shortcutPath="";
            Process runShortcutPrs=null;
            try{
                  shortcutPath = "C:\\Destination\\TextPad.lnk";
                  String runShortcutCmd="start "+ shortcutPath;              
                  runShortcutPrs = Runtime.getRuntime().exec(new String[]{"cmd", "/c",runShortcutCmd});
                  runShortcutPrs.waitFor();
            }
            catch(Exception ex)
            {
                  if(runShortcutPrs!=null)
                  {
                        runShortcutPrs.destroy();
                  }
                  ex.printStackTrace();
                  System.exit(-1);
            }
      }
     
      /**
       *Method to execute another application forex. AcrobatReader from Java
       *
       */
      privatevoid execAdobeAppl()
      {
           
            String shortcutPath="";
            Process execAcrobatPrs=null;
            try{             
                  execAcrobatPrs = Runtime.getRuntime().exec(new String[]{"cmd", "/c","start AcroRd32.exe"});
                  //execAcrobatPrs.waitFor();
            }
            catch(Exception ex)
            {
                  if(execAcrobatPrs!=null)
                  {
                        execAcrobatPrs.destroy();
                  }
                  ex.printStackTrace();
                  System.exit(-1);
            }
      }
      publicstaticvoid main(String arg[])
      {    
            try{       
                 
                  SystemCallExample sysCall=new SystemCallExample();
                  sysCall.copyShoutcut();
                  sysCall.execShoutcut();
                  sysCall.execAdobeAppl();                 
            }
            catch (Exception ex) {             
                        ex.printStackTrace();
                  }          
       }
}
 
System calls are platform dependent. So the above code will work only in Windows.
150 150 Burnignorance | Where Minds Meet And Sparks Fly!