About Command line args
there is command line argument fir integer like Integer.parseInt(args[0]); can we write same for "char" and" double" also like "Double.parseDouble" or else......
this has nothing to do with command line arguments
but yes, all the primitive wrapper classes can parse back their primitive
Learn to use the API, it's your friend
http://java.sun.com/javase/6/docs/api/
Similar Messages
-
Include command line args in executable jar?
Hello all,
I'm trying to package up some software which takes 2 command line args to run (for example, java -jar prog.jar FooBar 3.14159). I'm using a utility called Jar2Exe to wrap it up into an exe (still needs JRE to run, but it's nicer packaging for distribution).
My question is, how can I included command line arguments in the jar? Or can I? Or, are there any exe-wrapping utilities out there that will allow me to accomplish this?
Thanks,
-ThokThok wrote:
Hello all,
I'm trying to package up some software which takes 2 command line args to run (for example, java -jar prog.jar FooBar 3.14159). I'm using a utility called Jar2Exe to wrap it up into an exe (still needs JRE to run, but it's nicer packaging for distribution).
My question is, how can I included command line arguments in the jar? Or can I? Or, are there any exe-wrapping utilities out there that will allow me to accomplish this?
Thanks,
-ThokOkay, did some more research... It appears you can't specify command line options in a jar, but if you package it into an exe, you can--depending on what utility you use to wrap it, that is. I downloaded a free one (Launch4j) and it does the trick.
-Thok -
Wrong to process command line args in a loop?
I tried to process my command line args like this:
int[] rgb = {0,0,0};
for(int i=1;i<3;i++)
rgb[i-1] = Integer.parseInt(args);
I enter six args where args 1 to 3 are ints and not zero, but rgb[2] always ends up being zero. I had to do away with the loop and write out three assignment statements, but if I had ten or more args that would be a headache! Does anyone know why this is happening? I'm using JDK 1.3.1_15.for(int i=0;i<3;i++)
rgb[i] = Integer.parseInt(args);
Look closely and make sure you understand the differences between my code and yours:
* i starts at 0, not 1
* rgb uses i for index, not i - 1.
Why would you have rgb using i -1 and args using i?
Now, if you have an arg [i]before the RGB args, then it would make sense for args' index to be different than rgb's. In that case, you might have i-1 and i, or i and i+1, etc. depending on how you structure your loop.
The main problem is that you had i=1; i<3, which will go through the loop body for i=1 and i=2 only. Make sure you understand why. -
I have this program and I need to use command line args which
will print ell . this program does this but I am using
substring instead of command line args.
public class h11 {
public static void main (String [] args ) {
String greeting = "Hello";
String h11 = greeting . substring (1, 4);
System.out.println( h11);
output: ell
Anyone..First off, the index of characters in a String is 0 based so in the string "Hello" you have the following;
char 0 = "H"
char 1 = "e"
char 2 = "l"
char 3 = "l"
char 4 = "o"
String.substring(start, end) is first inclusive and last exclusive so the parameters (1, 4) would return characters 1, 2 & 3 but not 0 or 4.
To get the whole word Hello (not withstanding that that's the entire string) you would want greeting.substring(0,5) however that would generate an index out of bounds error because 5 isn't a valid index for that string. So, here's a small sample program to show how to do what I think you're after.
public class ParmsTest{
public static void main(String[] args){
if( args.length > 0 ){
String parm = null ;
int end = 0 ;
int start = 0 ;
for( int i=0; i< args.length; i++ ){
parm = args[i] ;
if( parm.length() > 4 ){
end = 4;
else{
end = parm.length() - 1 ;
if( end > start ){
System.out.println( parm.substring(start, end) ) ;
else{
System.out.println( "Nothing to get" ) ;
System.out.println( "Finished processing parameters" ) ;
}It's a bit more complicated than your sample, but it also checks to see if there were any parameters, and it checks to see if the length we're trying to get is valid. Lastly it checks to see if there was anything to get before trying to print it. If it doesn't find anything to print it prints a message saying so.
Here's the question I have for you. Why? Why did I go to this trouble? -
Bash number of command line args....
Hi,
Is there a way in bash to get number of command line args ...
atm I am using $1 but of course if you pass a command like uname -a you need two?
wondered if there is a $<foo> that ill give number of args passed?
EDIT looks like '$#' emmmm lets see....woah!!! ok thanks ..... $# gives me number of args ... will check it out
$1 $2 > /tmp/cmd
messy way..... -
Newby question about command line interface
Arch is my first linux distro and havnt used others yet.
Just wondering, does Command Line Interface looks and functions all same on other distros?
Because, if u can chose desktop environment like KDE, GNOME and Xfce with other Linux distros as well, then what is difference between others.
Linux is still quite hard for me and just wanted to know if there is "special" stuff that arch can do.
To me, they all looks same with same desktop environment...
thanksWhen you mention the "command line interface" (CLI) there are a few things involved: a terminal emulator, a shell, and the programs you have installed. That said, as far as running programs goes
The terminal emulator is the application that hosts/shows your shell. In KDE it's (by default) Konsole, GNOME uses gnome-terminal, others might use xterm, aterm, rxvt, rxvt-unicode or one of many others. Different emulators provide some extra features (e.g. tabs) and they all differ in memory usage, speed, and integration (or not) into a given desktop environment. That said, they all pretty much work the same for launching programs and operating in a shell: you type commands and press enter.
The shell is what runs your commands and also provides some scripting capabilities. Generally, bash seems to be the most used as a default shell. You can change your shell if you wish, as some shells provide extra features like programmable command completion. Other shells are lighter or more POSIX-compliant. For a starting user, you're well enough off just using the default (probably bash) until you find a reason for which you must have a different shell.
Finally, the programs installed will affect what you can run in a terminal. Different distros will have different quantities of programs installed by default. (Arch's base install is very minimal.)
Now, with regards to Linux, at the end of the day all distros are Linux with some desktop environment (DE) and some Linux apps. The DEs and applications are taken from the same source, but some distros provide patches for extra capabilities or configuation. However, if you see something you like in openSUSE, say, you can download the software, patch it, and configure your Arch to work like openSUSE. Each distro, though, has its own focus and philosophy which affects:
* how many and what applications are installed by default
* amount of configuration required after install
* stable vs. bleeding edge
You can read more about this in the wiki reference above.
So having said all that, Arch gives you a simple, minimal base install which you can then easily customize by app installation and configuration. It is reasonably bleeding edge, meaning application updates usually make it to Arch fairly quickly. With time and knowledge you can make Arch do near anything that another distro can do, but that's not really the idea behind Arch in my opinion.
Hope that helps,
j -
Sun Studio 12 - Can't specify command line args while profiling
New to Sun Studio development environment, and having trouble profiling my application. I have specified command-line arguments for both Debug and Release builds in Project/Configuration Properties/Runninjg/Arguments and this works fine when running the project from within the IDE. However when I attempt to profile the application through IDE Advanced/Advanced Profiling/Start, my application is launched with no command line arguments. So far I have been unable to find any place to define command line arguments for the program when run using the profiler. Any insights would be greatly appreciated.
Regards,
Chad.Yes, there is a bug. I reproduced the problem using a sample project Welcome. If I run it without profiling, the program prints correct arguments:
Welcome ...
Arguments:
1: arg 1
2: arg 2
[Press Enter to close window] If I run it with profiling "Advanced->Advanced Profiling->Start", the program prints wrong arguments:
Running "/export/home/SunStudio/SUNWspro/prod/bin/collect -d /export/home/nikm/SunStudioProjects/Welcome/nbproject/private/experiments -o test.1.er -A on -p on -S on /export/home/nikm/SunStudioProjects/Welcome/dist/Debug/welcome arg 1 arg 2" in /export/home/nikm/SunStudioProjects/Welcome
Creating experiment database /export/home/nikm/SunStudioProjects/Welcome/nbproject/private/experiments/test.1.er ...
Welcome ...
Arguments:
1: arg
2: 1
3: arg
4: 2
5: null
Run successful. Exit value 0.Note, it got 5 arguments instead of 2.
So, there are two bugs:
1. argument with spaces is transformed to several arguments.
2. a "null" argument is added to the list.
I'll file this bug and let you know the number.
A workaround is to ignore the last argument in your
program if it is "null", but this is a very ugly workaround :-)
Thanks,
Nik -
I'm a beginner in java and I need to know now to write the code that takes in a randon number of numbers at the command line and stores them in an array
ie. the program is called number and when I run it, it has to take in the numbers at the command line
ie. java numbers 12 13 14 15 19 1
then these numbers are to be stored in an array
How can I do this??
Thanking you
Tompublic class Numbers {
public static void main(String[] args) {
// Convert to integers
int[] param = new int[args.length];
for ( int cnt = 0; cnt < args.length; cnt++ ) {
try {
param[cnt] = Integer.parseInt(args[cnt]);
} catch (NumberFormatException nfe) {
System.err.println("Argument " + cnt + " is not integer, using '-1'");
param[cnt] = -1;
// use integers ...
} -
Reading directory path as command line args
Hello,
I'm trying to write a simple java web server that serves files from a specified directory over a specified port no. (both specified at the command line).
I am just wondering if any one has any advice on how to handle the directory argument and how check that it is valid etc.
Thanks
GaryTake a look at the File class, and the method isDirectory, and exists.
Kaj -
Environmental variables as command line args
Hello, all,
I would like to pass an environmental variable as a command line argument for a java program.
Example:
java MyClass $MY_VARIABLE
However, it actually passes "$MY_VARIABLE", and not the value of MY_VARIABLE. I know that I can use java -D(MY_VARIABLE=SOMETHING) and get it using System.getProperty ("MY_VARIABLE");
However, I would prefer it the first way, actually passing the variable inside command line. Is there a way to do this?
Thank you,
ElanaNevermind... Error in my code... It works
Thank you -
Command line args from java to C++
Hi
I want to pass command line arguemnts argc and argv from java to C++. I have browsed the net and most of them suggested that I declare the jni statement with jObjectarray.
I saw an example at http://www.csc.calpoly.edu/~fouzi/crossroads/Arguments.c
It said
#include "/home/java/linux/jdk118/include/jni.h"
#include "Arguments.h"
#include <stdio.h>
JNIEXPORT void JNICALL
Java_Arguments_setArgs (JNIEnv *jenv, jobject job, jobjectArray oarr)
/* obtain the size the the array with a call to the JNI function
GetArrayLength() */
jsize argc = (*jenv)->GetArrayLength(jenv, oarr);
/* Declare a char array for argv */
char const* argv[128];
int i;
for (i = 1; i < argc + 1; i++) {
/* obtain the current object from the object array */
jobject myObject = (*jenv)->GetObjectArrayElement(jenv, oarr, i-1);
/* Convert the object just obtained into a String */
const char str = (jenv)->GetStringUTFChars(jenv,myObject,0);
/* Build the argv array */
argv[i] = str;
/* print the argv array to the screen */
printf ("argv[%i] = %s\n",i,argv);
/* Free up memory to prevent memory leaks */
(*jenv)->ReleaseStringUTFChars(jenv, myObject, str);
// Increment argc to ajust the difference between Java and C arguments
argc++;
// Call a pipeline simulator function which uses command line arguments
start(argc,argv);
return;
That is what I have where the start method is declared like this:
void start(int argc, /* Argument count */ char argv[] / Argument strings */) {
But I get a warning when I build the C routine. The warning arises when I am calling the start method.
The warning says:
f:\jni\dsaccess.c(711) : warning C4090: 'function' : different 'const' qualifiers
f:\jni\dsaccess.c(711) : warning C4024: 'start' : different types for formal and actual parameter 2
Can you help?
Thanks
Lakshmi1. Your array building looks bogus: Are you missing an index?
2. You claim to be calling a "method". Are you? Or is it a subroutine? -
SQLLDR Command line arg question.
Is there a way to override , from the command line,
the table_name of the ...
INTO TABLE table_name
... clause of SQLLDR's LOAD statement?
ie.
If my control file looked like this ...
LOAD DATA
INFILE *
APPEND
INTO TABLE my_table_1
could I have data loaded into my_table_2 like so ...
sqlldr scott/tiger@test TABLE=my_table_2
... I know that TABLE= will not work. But is there
a way to do something like this?oops! ignore this post
-
I want to take in a list a of words from a file as a command line argument, like the following input to the command line:
hello
hi
cat
dog
fish
how this should be done?I only know I could use a single line when specifing command line argument,how can I use multiple lines?
thanks.A command line is only a single line. You specify it
when program execution is started:
java TestProgram arg1 arg2 ...
If you want to specify multiple lines of data then
this becomes program input and you must create you own
input loop in your program. Something like:
BufferedReader input = new BufferedReader( System.in
String line = "";
while ( (line = in.readLine() ) != null )
System.out.println( line );
Or create a small simple class that reads the file but into an array instead of a single line, and call the main method of your class with that array.
//Håkan -
I am new to java and am trying to accept a integer from the command line and am completely stumped? How to a Output a Request for the number and then accept the number from the command line. Thanks
warner: its ok. you will have a better day soon. I have some homework. Can you help me? I post it
My code does not work
private void test(int number)
int half = number/2;
int copy = half * 2;
if (copy = number) System.out.println("odd");
else System.out.println("even");
}No matter what number it is always odd -
Include command line args in jar file
If I make and executable jar file, how can I make it so that when it runs certain comman line arguments are included
If by "executable jar" you mean that you want to click the jar and run the program (and are using Windows), then you would have to alter the Windows file association for jar files that Java created, adding those options to the javaw command. Note that that would affect all jars that are run this was.
If you're willing to use the "javaw -jar" command, then just add the options to the javaw command.
Maybe you are looking for
-
How can I convert an odg. file to a pdf. file?
Hello, how can I convert an odg. file to a pdf. file? When choosing Drawing as template in OpenOffice, it saves projekt as odg. which apparently gives difficulties compared to pdf.
-
How to create a DVD9 project in DVDSTPRO 4.0.2
Hi Everybody! i´m finishing a project with about 6,7 GB data ... so how do i manage to burn this on my G5 / dual 2,7 / 8 GIGRAM / Apple - SuperDrive? Would be glad about any awnser ... Bye & thx, Max
-
SELECT distinct vbeln vbtyp vkorg vtweg spart vkgrp kunnr kostl FROM vbak INTO TABLE gt_vbak WHERE vbeln in s_vbeln- or vkorg = p_vkorg or vtweg = p_vtweg or spart = p_spart. here: s_vbeln is select-option for
-
Editor freezes after selecting tool.
I am using PSE 12 on a Macbook Air. I have a RAW file. I select "Open Image" so that I can use the non-RAW tools. When I open the Editor, I can use the mouse freely to select a tool. I select Dodge. The mouse cursor changes from the arrow tip to
-
need to download from OS X 10 5.8 to OS X 10 6.8 How do I do this?