How to run batch command in java?
Hi, my program needs to use an outside batch file command, for instance, its name is "generateXML", its syntax is
[command prompt] : generateXML sourceFile.dtd XMLFile.xml
I want to include this command into my code so that do that and other things at one go.
Thanks
public class Test{
public static String genXML() throws IOException{
Process p = Runtime.getRuntime.exec( "generateXML sourceFile.dtd XMLFile.xml" );
try{
p.waitFor();
}catch( InterruptedException ie ){}
InputStream err = p.getErrorStream();
int ctr = 0;
if ( (ctr = err.available()) > 0 ){
byte[] buf = new byte[ ctr ];
throw new IOException( "Process failed with error:\n" + new String( buf, 0, ctr );
String str = "Process was successful...Output was:\n";
InputStream output = p.getInputStream();
if ( (ctr = output.available()) > 0 ){
byte[] buf = new byte[ ctr ];
str += new String( buf, 0, ctr );
return str;
Similar Messages
-
How to run DOS command in Java environment?
Can i run DOS command in Java environment?
I did like this:
Runtime r = Runtime.getRuntime();
r.exec("cmd.exe");
r.exec("set classpath=%CLASSPATH%;.\\tmp")
but failed.
However if I run the java command, it runs successfully.
r.exec("javac Test.java");
r.exec("java Test");
how should I do so that i can run the DOS commands metioned above in Java Environment?
thanks a lot.Have a look at http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html
This may help. I wonder if this is ok ?
Runtime r= Runtime.getRuntime();
r.exec("cmd.exe /C set classpath=%CLASSPATH%;.\\tmp\""); -
How do run unix command in java
hi
All unix command working fine in our java program.
but i want change user in linux by using java. it's not working.
"su root" This command onely not working.
anybody know help me
This is my ID [email protected]
This my code
<% String s = null;
try{
Process p = Runtime.getRuntime().exec("su root");
BufferedReader stdInput = new BufferedReader(new
InputStreamReader(p.getInputStream()));
BufferedReader stdError = new BufferedReader(new
InputStreamReader(p.getErrorStream()));
out.println("Here is the standard output of the command:\n");
while ((s = stdInput.readLine()) != null)
out.println(s);
catch(Exception e) {}
%>I don't have further info to add to your first post, but think your guess seems quite reasonable. I thought of starting a new thread on the same topic, but think this (question) fits in here, too.
I have Java code (freeware, not opensoure), intended for Unix, which basically provides the graphical interface and relies on an I/O layer (C + shell scripts) to do most of the work. I have access to the C+shell scripts which are opensource. I ported it to Cygwin and want to use it under Windows (there is no Cygwin native Java VM).
My problem now boils down to " how to run commands under Unix and what differences are there with Windows". What are the variants?
I have to guess what the program is doing when I get an IOException at some point. E.g.: a call to shell script may be made in a different way as to a compiled exe in Unix?. I found a way to bypass path problems because forward slashes are also accepted and /cygdrive/c construct can be replace by c:/; shell scripts can be compiled into exes using shc and they work; if symbolic links are replaced by duplication of exe files, they work. What will happen in an instance whereby a process runs a shell script dynamically, through a pipe (the shell script is compiled in the Cygwin/win version and receives parameters) in a construct like:
pipefp = epopen(cmdbuf,"w"); /* (cmbuf is "makehdr par1 par2 ... ") (makehdr was a shell script and is now compiled exe for Cygwin/Windows) */?.
Thanks.
LT -
How to run system commands from JAVA
Hi Friends,
How to run windows system commands from JAVA
Runtime r=Runtime.getRuntime();
r.exec("dir");
Throwing following Exception
CreateProcess :dir error=2
Thanks in advance
HamsaHi ,
in Windows NT this is not possible, you can use the following :
Runtime r=Runtime.getRuntime();
StringBuffer sbuf = new StringBuffer();
String dir = new String();
java.lang.Process proc = r.exec("cmd /c dir");
InputStream is = proc.getInputStream();
int ch ;
while((ch=is.read() ) != -1)
sbuf.append((char)ch);
is.close();
dir = sbuf.toString();
System.out.println(dir ); -
How to run solaris commands through java code ....
Hi,
actually i want to run some solaris commands for zipping some files on Solaris OS...
any idea how can i do that ?
thankspublic class TABLES
public static void main( String[] args )
//database is connected
try
Connection con = null;
Statement stmt = null;
String strShowTables = "";
ResultSet resultSet = null;
// CBA Statistics period is m_lStatisticsPeriod minutes
con = DriverManager.getConnection( g_strRWURI, g_strRWUsername, g_strRWPassword );
stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("use db");
resultSet = stmt.executeQuery(strShowTables);
String tableName = "";
while(resultSet.next()){
tableName = resultSet.getString(1);
System.out.println(tableName);
break;
String strCmd = "tar cvzf file.tar.gz var/lib/mysql/db/GROUPS.*";
Process p= Runtime.getRuntime().exec(strCmd);
System.out.println(strCmd);
stmt.close();
rs.close();
resultSet.close();
con.close();
catch ( Exception e )
System.out.println( ": Failed to create database connection (" + e.getMessage() + ")" );
e.printStackTrace();
catch ( Throwable t )
System.out.println( " Throwable: " + t.getMessage() );
t.printStackTrace();
}//end of main mehtod
}//END OF CLASSi hava tried the above code... what the problem is
when is run that command on shell > tar cvzf file.tar.gz var/lib/mysql/db/GROUPS.*i works fine but in code even though it didn't give any error but the created "file.tar.gz" is empty...
Edited by: aftab_ali on Apr 7, 2009 7:15 AM
Edited by: aftab_ali on Apr 7, 2009 7:17 AM -
How to run SQLLDR Command in java
Hi All,
I want to upload large amount of data in to a table using SQL Loader and i am using SQLLDR command in command prompt. i need to automate the process because i have to do 2 to 3 times a day manually.
i have tried the below code inside the main method, but it is not working
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec("SQLLDR idm/idm@idmdev control=E:\\SAP_HR\ttsldata.ctl");
I have Control file and CSV Format data with me. While trying in command prompt it is working but not using java. Please help me to finish this.
Thanks in Advance!!!!Sorry for that, SQLLDR means SQL Loader command to upload the data in to the database. Please let me know how to do it.
-
How to run dos command on java
would java run the dos command ?
if yes ~would you mind give me some example~please~..or just use:
Runtime.getRuntime().exec("cmd /c commandyouwanttouse");
Hope it works! -
Running batch files thraugh java by passing parameters
Hi
I want to run a batch file by passing some parameters.
Eg: copy.bat "D:\live\hoe.txt" "D:\test"
while doing this from command prompt its working and i have written some java code for running this batch file.
String live="D:\\live\\how.txt";
String test="D:\\test";
String bat="D:\\copy.bat";
String[] command = new String[3];
command[0] = bat;
command[1] = live;
command[2] = test;
try {
Runtime.getRuntime().exec(command);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
but this time its not copying the file;
Please help.Just another cross poster.
[http://www.java-forums.org/new-java/15005-running-batch-files-thraugh-java-passing-parameters.html]
db -
How to execute Linux command from Java app.
Hi all,
Could anyone show me how to execute Linux command from Java app. For example, I have the need to execute the "ls" command from my Java app (which is running on the Linux machine), how should I write the codes?
Thanks a lot,You can use "built-in" shell commands, you just need to invoke the shell and tell it to run the command. See the -c switch in the man page for your shell. But, "ls" isn't built-in anyays.
If you use exec, you will want to set the directory with the dir argument to exec, or add it to the command or cmdarray. See the API for the variants of java.lang.Runtime.exec(). (If you're invoking it repeatedly, you can most likely modify a cmdarray more efficiently than having exec() decompose your command).
You will also definitely want to save the returned Process and read the output from it (possibly stderr too and get an exit status). See API for java.lang.Process. Here's an example
java.io.BufferedReader br =
new java.io.BufferedReader(new java.io.InputStreamReader(
Runtime.getRuntime().exec ("/sbin/ifconfig ppp0").
getInputStream()));
while ((s = br.readLine()) != null) {... -
Hi ,
I would appreciate if anyone could tell me how to run DOS command such as "del" using JAVA language .Thank you.<steps onto soapbox>
Surely for something like 'del' we should be advocating a non-OS specific method so we don't lose sight of Java's cross platform abilities.
If it has to run an OS specific thing fine, but please look for a non OS specific solution first.
<steps off soapbox> -
How to run ear file in java application server
i want how to run .ear file in java application server
1. i m created ear file
2. i m created jar file (bean,home,remote)
3.i m created war file(in the form of jsp)
but till now i couldnt run ear file
how to run
please hel meYou must create :
1.Jar file
2.War file
And then put them into an ear file
Exemple : myapp.ear contains
myappEJB.jar
myappWEB.war
META-INF/application.xml
and application.xml looks like this :
<application xmlns="http://java.sun.com/xml/ns/j2ee" version="1.4"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com /xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/application_1_4.xsd">
<display-name>myapp</display-name>
<description>Demo application</description>
<module>
<ejb>myappEJB.jar</ejb>
</module>
<module>
<web>
<web-uri>myappWAR.war</web-uri>
<context-root>/myapp</context-root>
</web>
</module>
</application>Good luck -
Running ls command from Java stroed procedure no output
Hi ,
I am trying to run ls command from java stored procedure in oracle
Process p = Runtime.getRuntime().exec("ls");
BufferedReader stdInput = new BufferedReader(new
InputStreamReader(p.getInputStream()));
BufferedReader stdError = new BufferedReader(new
InputStreamReader(p.getErrorStream()));
// read the output from the command
System.out.println("output of the command run:\n");
while ((s = stdInput.readLine()) != null) {
System.out.println(s);
from java stored procedure in oracle.
i get output of println statments but it does not go into while loop to print from stdInput.
Result of running Java stored procedure is -
output of the command run:
Call completed.
when i run the program on client side it works fine.
Has anybody tried this from java stroed procedure.
Thanks,
JagJag,
Actually, the question of whether it works for me seems to depend on the version of the OS (or Oracle). On RedHat Linux (Oracle 8.1.6) it didn't work at all, but on Solaris (Oracle 9.0.2) it did. Here's the output from that run:
SQL> /
output of the command run:
init.ora
initDBPart9i.DBPSun01.ora
initdw.ora
lkDBPART9I
orapw
orapwDBPart9i
spfileDBPart9i.ora
Done
PL/SQL procedure successfully completed.
But, I did need to change a line of your code to this:
Process p = Runtime.getRuntime().exec("/usr/bin/ls");
your original was:
Process p = Runtime.getRuntime().exec("ls");
You might consider, if possible, use of some of the Java File classes instead of ls, as this might make things more predictable for you. There were some examples in oramag.com a few months ago, but they were pretty simple (you might not need them).
Hope this helps,
-Dan
http://www.compuware.com/products/devpartner/db/oracle_debug.htm
Debug PL/SQL and Java in the Oracle Database -
How to call gnuplot command from java
Hi there,
In our course, we are required to develop an GUI for gnuplot. In case you don't know about gnuplot, it's a plotting program and has lots of command. We want to use java and swing, but now we don't know how to call gnuplot command from java, or how to execute a shell command(script) from java.
By the way, since we need read in files with several columns of data and allow user to select a column, we want to use JTable. Is that reasonable?
Thanks a lot for any suggestions!
JackHi, there:
Will using JTable add much overhead? I may have to use several JTables and switch among them. I can add scroll bar to or edit JTables, right?
BTW, do you have experience about gnuplot? Can I find the command tree of gnuplot somewhere? Or do you know a better place to post question about gnuplot? unix/linux group, maybe.
Thanks,
Jack
P.S. Would you guys answer my question after I use up my duke dollars? :- ) -
How to run native program with Java program?
Hello
I've got following problem. I'd like to write file browser which would work for Linux and
Windows. Most of this program would be independent of the system but running programs not. How to run Linux program from Java program (or applet) and how to do it in Windows?.
CheersTry this:
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec("ls -l");
InputStream stream = proc.getInputStream();
InputStreamReader isr = new InputStreamReader(stream);
BufferedReader br = new BufferedReader(isr);
String line = null;
while ( (line = br.readLine()) != null) .....
"if the program you launch produces output or expects input, ensure that you process the input and output streams" (http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html) -
How to run batch file from oracle forms 9i
Hi everyone.
i have a data in csv file. i want to upload it to my database. i am using sql loader for it.
i have made a batch file which run the sql loader and transfer my data to database.
How to run batch file from oracle forms 9i.
when i press the button, nothing uploads in my database. (when i simply run the batch file it works).
here is my code
Begin
HOST('C:\temp\batchfile.bat');
message('done');
end;
Thanks in advance
regards
sajidthis is my log file, when i run manually.
SQL*Loader: Release 10.2.0.1.0 - Production on Thu Jul 1 23:27:53 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Control File: file_to_upload.ctl
There are 2 data files:
Data File: sk.csv
Bad File: sk.bad
Discard File: none specified
(Allow all discards)
Data File: sk1.csv
Bad File: sk1.bad
Discard File: none specified
(Allow all discards)
Number to load: ALL
Number to skip: 0
Errors allowed: 50
Bind array: 64 rows, maximum of 256000 bytes
Continuation: none specified
Path used: Conventional
Table KHAN, loaded from every logical record.
Insert option in effect for this table: APPEND
Column Name Position Len Term Encl Datatype
SR FIRST * , O(") CHARACTER
DATES NEXT * , O(") CHARACTER
AGENT NEXT * , O(") CHARACTER
COUNTRY NEXT * , O(") CHARACTER
TRANSACTIONS NEXT * , O(") CHARACTER
PKR NEXT * , O(") CHARACTER
USD NEXT * , O(") CHARACTER
BANK NEXT * , O(") CHARACTER
Table KHAN:
11088 Rows successfully loaded.
0 Rows not loaded due to data errors.
0 Rows not loaded because all WHEN clauses were failed.
0 Rows not loaded because all fields were null.
Space allocated for bind array: 132096 bytes(64 rows)
Read buffer bytes: 1048576
Total logical records skipped: 0
Total logical records read: 11088
Total logical records rejected: 0
Total logical records discarded: 0
Run began on Thu Jul 01 23:27:53 2010
Run ended on Thu Jul 01 23:27:54 2010
Elapsed time was: 00:00:00.63
CPU time was: 00:00:00.17
Maybe you are looking for
-
Runtime error CONNE_IMPORT_CONVERSION_ERROR in MM module
Hi all, When we call the selection variants in the document overview in Transactions ME21N, ME22N, ME33N, ME51N, ME52N, ME53N, ME54N, the CONNE_IMPORT_CONVERSION_ERROR runtime error occurs. Runtime Errors CONNE_IMPORT_CONVERSION_ERROR Date an
-
Cd dvd-r drive, wont burn cds anymore
i have been using my sony dvd rw dw-u10a drive, i have not changed the type of disks i am using but now when i try to burn any type of disk, audio or data, i get an error 3, any ideas? also any ideas where i can find the driver for this, i cant find
-
Hello sir ,how i can make Java Programs Set up File ,Please give me steps to make that.
-
TS4062 Itunes Wi fi sync problem
I have 2 computers listed under itunes wi fi sync. i would like to delete the old computer that I no longer have. How do i remove this listing from the Iphone 5?
-
Hi gurus, I need an urgent solution for this we have 2 accrual plans one *30 days- employee can avail annual leave after 1 years of joining and afterwards once in a year* and *21 days=employee can avail annaul leave after 2 years of joining and after