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.



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).


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


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:

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
failin=new BufferedReader (new FileReader(filen));
//extract one line at a time

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




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


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, type


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


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


Popular posts from this blog

Several English proverbs and the Malay pair

Or you could download here for the Malay proverbs app – English proverbs and the Malay pair Corpus Reference: Amir Muslim, 2009. Peribahasa dan ungkapan Inggeris-Melayu. DBP, Kuala Lumpur 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

Most used STRING functions in my PHP coding

These are my favourite string manipulation functions in my daily coding life. Dedicated especially to Web Programming students. Read them and have fun. Expect a happiness after a storm , and you’ll find your “inner peace”… This post is still in draft. I’ll update and refine with more examples that I’ve personally develop. More after the break…

Kursus Laravel 2021

Tutorial LARAVEL bahasa Melayu (serasi versi 5.x & 6.x, 7.x) T0: Pengenalan Laravel (  ) T1: Kaedah install & guna Laragon (  ) T2: Asas CRUD dalam Laravel (  ) T3: Penukaran tema/template antaramuka sistem Laravel (  ) T4: Carian rekod dalam Laravel  (  ) T5: Kemaskini dan padam rekod dalam modul Laravel (  ) T6: Paparan carian dengan pagination dalam Laravel (   ) T7: Muat-naik fail imej ke server (  ) T8: Peranan pengguna ( user roles ) dalam Laravel ACL (  ) T9: Laravel REST API (  ) Model-View-Controller dalam Laravel (  http://fs

Bootstrap Template for PHP database system - MyCompanyHR

HTML without framework is dull. Doing hard-coded CSS and JS are quite difficult with no promising result on cross platform compatibility. So I decided to explore BootStrap as they said it is the most popular web framework. What is BootStrap? - Bootstrap is the most popular HTML, CSS, and JavaScript framework for developing responsive, mobile-first web sites. (   ) Available here - Why you need Flat-UI? Seems like a beautiful theme to make my site look professional. Anyway you could get variety of BootStrap theme out there, feel free to select here Flat-UI is from DesignModo - Web Programming MyCompanyHR – PHP & MySQL mini project (with Boostrap HTML framework) Template 1: Template for the Lab Exercise. This is a project sample of a staff record management system. It has the PHP structured co

Simple Calculator with Spinner – Android Code

This code is a simple code for Android application. It has two textboxes to receive two numbers (decimal), list of mathematical operations with +, –, * and /. Choose the operation, and hit the “Display result” button. You will see the answer to the at the bottom of the button. Have fun with Android.   The Manifest file <? xml version="1.0" encoding="utf-8" ?> < LinearLayout xmlns : android = "" android : orientation = "vertical" android : layout_width = "fill_parent" android : layout_height = "fill_parent" > < EditText android : text = "@+id/EditText01" android : id = "@+id/EditText01" android : layout_width = "fill_parent" android : layout_height = "wrap_content" > </ EditText > < EditText android : text = "@+id/EditText02" android : id = "@+id/EditText02"