Survey
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
APLIKASI BERBASIS TEKS
TOPIK
Command-Line Arguments dan System Properties
Pembacaan dari Standard Input
Penanganan File
Membaca dari File
Menulis ke File
COMMAND-LINE ARGUMENTS
JAVA mengijinkan user untuk memasukkan data dari command-line
Tujuan dari deklarasi String args[] sebagai sebuah parameter pada method
utama
Ketika menggunakan perintah java, menentukan data setelah nama class
menandakan bahwa Anda memasukkan data lewat parameter args
Contohnya :
java Calculate 1 2
args[0] mempunyai nilai “1”
args[1] mempunyai nilai “2”
SYSTEM PROPERTIES
Java juga memperkenankan Anda memanipulasi system properties dari
baris perintah
System property
Sangat mirip dengan variabel environment
Tetapi bukan merupakan platform-dependent
Property
Memetakan antara nama property ke nilai yang berhubungan
dengannya
Direpresentasikan dalam Java dengan class Properties
SYSTEM PROPERTIES
Class System
Menyediakan method untuk menentukan system properties yang ada,
method getProperties yang mengembalikan object Properties
Juga menyediakan method getProperty yang berlebih
SYSTEM PROPERTIES
Memasukkan sebuah property baru
Menggunakan pilihan -D dengan perintah java
java -D<name>=value
Contohnya :
java -Duser.home=philippines
Menampilkan list dari system properties
Menggunakan method getProperties
System.getProperties().list(System.out);
MEMBACA DARI STANDART INPUT : STREAM
Dapat menggunakan stream untuk membaca dari standard input
Stream
Keadaan suatu file atau device yang membolehkan
rangkaian item untuk dibaca atau ditulis
Terhubung ke device physical
Terdapat dua jenis stream yang umum :
Character Stream
Byte Stream
MEMBACA DARI STANDART INPUT : STREAM
Character Streams
Byte Stream
Untuk karakter Unicode
Untuk data biner
Contoh predefine
System.in (keyboard secara default)
System.out (console secara default)
STANDART INPUT : BUFFEREDREADER
Membaca
karakter dari keyboard
Menggunakan byte stream System.in yang dibelokkan ke dalam
object BufferedReader
BufferedReader
br
=
new
InputStreamReader(System.in));
BufferedReader(new
Menggunakan method read dari object BufferedReader
ch = (int) br.read();
//membaca method yang mengembalikan sebuah integer
STANDART INPUT : CONTOH BUFFEREDREADER
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import java.io.*;
class FavoriteCharacter {
public static void main(String args[])
throws IOException {
System.out.println("Hi, what's your favorite
character?");
char favChar;
BufferedReader br = new BufferedReader(new
InputStreamReader(System.in));
favChar = (char) br.read();
System.out.println(favChar +
" is a good choice!");
}
}
STANDART INPUT : BUFFEREDREADER
Membaca
keseluruhan baris
Menggunakan byte stream System.in yang dibelokkan ke
dalam object BufferedReader
BufferedReader
BufferedReader(new
InputStreamReader(System.in));
Menggunakan method readLine
str = br.readLine();
br
=
new
STANDART INPUT : CONTOH BUFFEREDREADER
1.import
java.io.*;
2.class GreetUser {
3.
public static void main(String args[])
4.
throws IOException {
5.
System.out.println("Hi, what's your name?");
6.
String name;
7.
BufferedReader br = new BufferedReader(new
8.
InputStreamReader(System.in));
9.
name = br.readLine();
10.
System.out.println("Nice to meet you, " +
11.
name + "! :)");
12.
}
13.}
STANDARD INPUT : REVIEW
Jangan
lupa untuk mengimpor package java.io
seperti yang ditunjukkan di bawah ini :
import java.io.*;
Membaca
dari stream
terjadinya exception
mungkin
menyebabkan
Menangani exception ini dengan menggunakan pernyataan
try-catch
Atau menanganinya dengan mengindikasikan exception
dalam klausa throw dari method
MEMBACA DARI SEBUAH FILE
Dapat menggunakan class FileInputStream
Salah satu constructor dari class ini
FileInputStream(String filename)
Membuat koneksi ke file yang sebenarnya dimana filename
ditentukan sebagai sebuah argument
Sebuah FileNotFoundException diberikan ketika file tidak ada
atau tidak dapat dibuka untuk dibaca
Menggunakan method read
Mengembalikan sebuah integer yang merepresentasikan
pembacaan data
Mengembalikan sebuah nilai -1 ketika akhir dari file
telah dicapai
MEMBACA DARI SEBUAH FILE
1
2
3
4
5
6
7
8
9
10
11
12
13
import java.io.*;
class ReadFile {
public static void main(String args[])
throws IOException {
System.out.println("What is the name of the
file to read from?");
String filename;
BufferedReader br = new BufferedReader(new
InputStreamReader(System.in));
filename = br.readLine();
System.out.println("Now reading from " +
filename + "...");
//bersambung...
MEMBACA DARI SEBUAH FILE
14
15
16
17
18
19
20
21
22
23
FileInputStream fis = null;
try {
fis = new FileInputStream(filename);
} catch (FileNotFoundException ex) {
System.out.println("File not found.");
}
try {
char data;
int temp;
//bersambung...
MEMBACA DARI SEBUAH FILE
do {
temp = fis.read();
data = (char) temp;
if (temp != -1) {
System.out.print(data);
}
} while (temp != -1);
} catch (IOException ex) {
System.out.println("Problem in reading from
the file.");
}
24
25
26
27
28
29
30
31
32
33
34
}
35
36
}
MENULIS KE SEBUAH FILE
Dapat menggunakan class FileOutputStream
Salah satu konstruktor dari class ini
FileOutputStream(String filename)
Menghubungkan sebuah output stream ke sebuah file untuk
ditulis
Sebuah FileNotFoundException diberikan ketika file tidak dapat
dibuka untuk ditulis
Menggunakan method write
void write(int b)
dimana,
b menunjuk pada data yang dituliskan ke file
MENULIS KE SEBUAH FILE
1
2
3
4
5
6
7
8
9
10
11
12
13
import java.io.*;
class WriteFile {
public static void main(String args[])
throws IOException {
System.out.println("What is the name of the
file to be written to?");
String filename;
BufferedReader br = new BufferedReader(new
InputStreamReader(System.in));
filename = br.readLine();
System.out.println("Enter data to write to " +
filename + "...");
//bersambung...
MENULIS KE SEBUAH FILE
14
15
16
17
18
19
20
21
22
23
24
25
System.out.println("Type q$ to end.");
FileOutputStream fos = null;
try {
fos = new FileOutputStream(filename);
} catch (FileNotFoundException ex) {
System.out.println("File cannot be opened
for writing.");
}
try {
boolean done = false;
int data;
//bersambung...
MENULIS KE SEBUAH FILE
26
27
28
29
30
31
32
33
34
35
36
37
38
do {
data = br.read();
if ((char)data == 'q') {
data = br.read();
if ((char)data == '$') {
done = true;
} else {
fos.write('q');
fos.write(data);
}
} else {
fos.write(data);
//bersambung...
MENULIS KE SEBUAH FILE
39.
40.
41.
42.
43.
44.
45.
46.}
}
} while (!done);
} catch (IOException ex) {
System.out.println("Problem in reading from
the file.");
}
}
RINGKASAN
Command-Line Arguments dan System Properties
Mendapatkan masukan dari sebuah baris perintah
(command line)
Memanipulasi system properties
java -D<name>=<value>
Membaca dari Standard Input
Menggunakan System.in
Menggunakan BufferedReader
Menggunakan method read
RINGKASAN
Penanganan File
•
•
•
•
•
•
Membaca dari sebuah File
Menggunakan FileInputStream
Menggunakan method read
Menulis ke sebuah File
Menggunakan FileOutputStream
Menggunakan method write