Skip to main content

Sending arguments into Java native application

THE PROBLEM: Write a program that will read an input file mentioned in your command line, and display several lines of text from the input file.

THE SAMPLE OUTPUT:

image

In this tutorial we need simple code editor (Notepad++) and JDK (Java Development Kits). If you’re using Mac, JDK is already available inside (read more for Mac user).

SETTING THE JAVA PATH

In Windows environment, if you’d like to use the command line to compile (JAVAC) and execute a java class (JAVA) you need to set the Java home PATH.

Find the Java installation folder, for example: C:\Program Files\Java\jdk1.6.0_29\bin

This is the folder where the JAVAC and JAVA program is available.

location of Javac and Java applicationFigure 1

Right-click MyComputer icon on your desktop, and select Properties. Click the Environment Variables as in Figure 2.

environment variablesFigure 2

In the system variables, select PATH and click EDIT button (Figure 3).

changing pathFigure 3

Add the Java bin path to the Variable Value: C:\Program Files\Java\jdk1.6.0_29\bin as in Figure 4. Use the semicolon “;” to separate different variable value.

changing pathFigure 4

STEP 1: THE CODE SAMPLE

Use Notepad++ or your favourite code editor to key-in this code. This program will actually read an input file mentioned in your command line, and display several lines of text from the input file.

Java source code: Head.java

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class Head {

//declare the BufferdReader to read the input file
private static BufferedReader failin;
public static void main (String args[]) throws IOException{

//baris - the content of each lines in the input file
String baris;
//lines - the number of lines of the input text from the file
//that will be displayed
int lines=Integer.parseInt(args[0]);
//filen - name of the file send by the user thru command prompt
String filen=args[1];
int i=0;

//try catch any file input error
try{
failin=new BufferedReader (new FileReader(filen));
//extract one line at a time
while((baris=failin.readLine())!=null){

System.out.println(baris);
i++;
if (i==lines){
System.exit(0);
}
}
}
//if any error on fetching the file, print here
catch(IOException e){
System.out.println("Ralat "+e.toString());
}
}

}


STEP 2: CREATE THE INPUT TEXT


input.txt


Before you can start having fun programming in Java, 
you need to download
and install
the Java SE Development Kit.
The JDK is the most important Java download
you can make because once it's installed,
your computer will be able
to understand and execute
the programs you create.

Save these files in a folder in your storage, for example C:\kamarul

Java source code filesFigure 5


STEP 3: COMPILE


Launch the command prompt by typing cmd in the Start Button search.


run cmdFigure 6


And you will see this black screen.


imageFigure 7


Type cd\ <Enter> to get back to C:\ prompt (refer Figure 7).


One you get to C:\ , go inside your folder (which is kamarul) by typing cd kamarul <Enter> (as in Figure 8).


imageFigure 8


Run dir to check the content of your folder (as in Figure 9).


imageFigure 9


To compile Head.java, type



javac Head.java


and <Enter> (Figure 10).


compile java code using JAVACFigure 10


Run dir, to list all files. Now you can see Head.class . This Java bytecode file is produced from the compilation proses using JAVAC (Figure 11).


imageFigure 11


STEP 4: EXECUTE


Now use JAVA to execute the Head.class (this file contain the Java bytecode).



java Head 3 info.txt


The sample output are displayed in Figure 12 and 13.


run Java Bytecode using JAVAFigure 12


output - read an input file mentioned in your command line, and display several linesFigure 13

Comments

Popular posts from this blog

Several English proverbs and the Malay pair

Or you could download here for the Malay proverbs app – https://play.google.com/store/apps/details?id=net.kerul.peribahasa English proverbs and the Malay pair Corpus Reference: Amir Muslim, 2009. Peribahasa dan ungkapan Inggeris-Melayu. DBP, Kuala Lumpur http://books.google.com.my/books/about/Peribahasa_dan_ungkapan_Inggeris_Melayu.html?id=bgwwQwAACAAJ CTRL+F to search Proverbs in English Definition in English Similar Malay Proverbs Definition in Malay 1 Where there is a country, there are people. A country must have people. Ada air adalah ikan. Ada negeri adalah rakyatnya. 2 Dry bread at home is better than roast meat home's the best hujan emas di negeri orang,hujan batu di negeri sendiri Betapa baik pun tempat orang, baik lagi tempat sendiri. 3 There's no accounting for tastes We can't assume that every people have a same feel Kepala sama hitam hati lain-lain. Dalam kehidupan ini, setiap insan berbeza cara, kesukaan, perangai, tabia...

Pemasangan Joomla! 1.7 pada pelayan web komputer anda

Latihan ini akan memasang sistem pengurusan kandungan laman web ke dalam pelayan web yang anda telah pasang sebelum ini . LANGKAH 1: Aktifkan Pelayan Web dan Pangkalan Data Aktifkan XAMPP Control Panel, melalui “ Start->All Programs->ApacheFriends->XAMPP Control Panel ”. Rajah 2.1 Pastikan pelayan web Apache dan pelayan pangkalan data MySQL diaktifkan dengan klik butang START. -> Rajah 2.2

searchdelete.php (list records of table to delete)

< form name = 'search' method = 'get' action = '' > Insert the firstname < input type = 'text' name = 'txtname' > < input type = 'submit' value = 'search name' > </ form > < ?php //database connect $db = mysqli_connect ( "localhost" , "root" , "" , "mycompanyhr" ); //checking database connection if ( $db == false ) { echo "Connect failed: " . mysqli_connect_error ( $db ); exit (); } else { echo "Connection successful" ; } $n = $_GET [ 'txtname' ]; $sql = "select EMPNO, FIRSTNAME, LASTNAME, WORKDEPT, PHONENO from employee where FIRSTNAME like '%$n%' " ; $rs = mysqli_query ( $db , $sql ); if ( $rs == false ){ echo ( "Query cannot be executed!<br>" ); echo ( "SQL Error : " . mysqli_error ( $db )); } else { echo "<table border=1>...

ViewFlipper Example–a simple FlashCard

UPDATE: Improved with Fling gesture (Sept 2012) UPDATE: ViewFlipper with Flip-In and Flip-Out Animation (August 2012) This tutorial is to demonstrate the ViewFlipper layout that is almost similar to CardLayout (in Java). The app will produce a simple Flash card that provide several screens with different picture for each card. Flip-in and Flip-out animation provided. Added in Sept 2012 – an improvement to support Fling gesture – enjoy… The amendment is only on the coding part. Some how the layout design (main.xml) is quite long. Later I’ll produce separated screen by including several XML layout from outside files. Screenshots;

Installing Google AdMob into Android Apps

Previously I wrote on why ads are needed to help maintaining an app. Read the article here http://blog.kerul.net/2011/05/generating-revenue-from-free-mobile.html . ---This is quite an old article. You may find the latest supporting AdMob 6.x in here http://blog.kerul.net/2012/08/example-how-to-install-google-admob-6x.html --- This is quite a long tutorial, there are 3 major steps involved. The experiment is done using Windows 7, Eclipse Helios and AdMob SDK 4.1.0 (which currently is the latest-during time of writing). STEP 1: Get the ads from AdMob.com To display the AdMob ads in your Android mobile apps, you need to register first at the admob.com . After completing the registration, login and Add Site/App. Refer to Figure 1. Figure 1 Choose the desired platform and fill in the details (as in Figure 2). Just put http:// in the Android Package URL if your app is not published in the market yet. And click Continue. Figure 2 Download the AdMob Android SDK, and save the zip fil...