STREAM
Proses
input dan output pada dasarnya di dalam Java merupakan representasi dari stream
yang menggunakan package java.io sebagai package utama. Stream sendiri adalah
representasi abstrak dari input dan output device, yang mana aliran bytes akan
ditransfer seperti file dalam harddisk, file pada system remote atau printer.
Dari input stream kita bisa membaca data yang dapat berupa file, keyboard atau
computer remote. Dan yang untuk output stream kita bisa untuk menulis data.
Package java.io mendukung dua tipe stream, yaitu binary (data berupa bit) dan
karakter stream (tipe khusus untuk pembacaan dan penulisan karakter).
1. INPUT
STREAM
Syntax :
/**
* @(#)InputStream.java
*
*
* @author atmaji
* @version 1.00 2011/4/30
*/
import
java.io.*;
class
InputStream {
public
static void main(String[] args) throws IOException {
byte[]
data = new byte[10];
System.out.print("Ketik
max 10 buah karakter :");
System.in.read(data);
System.out.print("Karakter
yang Anda ketik yaitu : ");
for(int
i=0;i<data.length;i++) {
System.out.print((char)data[i]);
}
}
}
Output :

2. OUTPUT
STREAM
Syntax :
/**
* @(#)OutputStream.java
*
*
* @author atmaji
* @version 1.00 2011/4/30
*/
import
java.io.*;
class
OutputStream {
public
static void main(String[] args) throws IOException {
byte[]
data = {'a','d','a','a','t','m','a','j','i'};
System.out.write(data,3,6);
//menulis
isi array yang dimulai dari index ke-3 yang berjumlah 6 karakter
System.out.write('\n');
//pindah
baris
System.out.write(data);
//menulis
semua isi array data
}
}
Output :

3. KELAS
PRINTWRITER
Syntax
:
/**
* @(#)TulisData.java
*
*
* @author atmaji
* @version 1.00 2011/4/30
*/
import
java.io.PrintWriter;
import
java.io.File;
public
class TulisData {
public static void
main(String[]args)throws Exception{
File fl=new
File("nilai.txt");
if(fl.exists()){
System.out.println("File
sudah ada");
System.exit(0);
}
PrintWriter output=new
PrintWriter(fl);
output.println("Aji
20");
output.println("Damar
10");
output.println("Adit
07");
output.close();
}
}
Output
:
Sebuah
file nilai.txt, jika file tersebut tidak ada maka akan diciptakan file tersebut.
Jika
file tersebut sudah ada, maka isinya akan dibuang dan dicetak lagi dengan isi
yang
baru.

4. DATA
STREAM
Syntax
:
/**
* @(#)DemoDataStream.java
*
*
* @author atmaji
* @version 1.00 2011/5/2
*/
import
java.io.*;
public
class DemoDataStream {
//main method
public static void main(String[]args) {
//mendeklarasikan
data input dan output
DataInputStream
in=null;
DataOutputStream
out=null;
//membuat
file yang diasosiakan dengan fileTemp
File
fil=new File("fil.dat");
//memeriksa
apakah file output sudah ada atau belum
if
(fil.exists()){
System.out.println("File
ini sudah ada");
System.exit(0);
}
//menulis data
try
{
//membuat
data output stream untuk fi
out=new
DataOutputStream(new FileOutputStream(fil));
for(int
i=0; i<100; i++)
out.writeInt((int)(Math.random()*100));
}
catch
(IOException ex){
System.out.println(ex.getMessage());
}
finally{
try{
//Menutup
file
if(out!=null)out.close();
}
catch(IOException
ex){
}
}
//membaca
data
try{
//membuat
data input stream
in=new
DataInputStream(new FileInputStream(fil));
for(int
i=0; i<100; i++)
System.out.print(" "+in.readInt());
}
catch
(FileNotFoundException ex){
System.out.print("File
not found");
}
catch
(IOException ex){
System.out.print(ex.getMessage());
}
finally{
try{
//menutup
file
if(in!=null)in.close();
}
catch
(IOException ex){
System.out.println(ex);
}
}
}
}
Output
:

Output
pertama kali setelah program dirun maka akan muncul tampilan seperti di atas
dimana belum ada file “fil.dat”
untuk sebelumnya. Kemudian setelah program dirun seperti di atas, maka otomatis
file “fil.dat” akan terbentuk, dan
apabila dijalankan lagi maka program mendeteksi bahwa file “fil.data” sudah ada seperti capture
hasil running kedua kalinya di bawah ini :

Maka
jika kita ingin hasil outputnya sesuai yang kita ingin (math.random) kita harus
menghilangkan file tersebut terlebih dahulu di direktori tempat menyimpan
program tersebut.

5. BUFFERED
STREAM
Syntax
:
/**
* @(#)Main.java
*
*
* @author
* @version 1.00 2011/5/2
*/
import
java.io.BufferedInputStream;
import
java.io.BufferedOutputStream;
import
java.io.FileInputStream;
import
java.io.FileOutputStream;
public
class Main {
public static void main(String[] args) throws
Exception {
String fromFileName = "from.txt";
String toFileName = "to.txt";
BufferedInputStream in = new
BufferedInputStream(new FileInputStream(fromFileName));
BufferedOutputStream out = new
BufferedOutputStream(new FileOutputStream(toFileName));
byte[] buff = new byte[32 * 1024];
int len;
while ((len = in.read(buff)) > 0)
out.write(buff, 0, len);
in.close();
out.close();
}
}
Output
:

Program
tersebut adalah program yang mentransferkan isi dari file “from.txt” ke dalam file “to.txt”.
Mula-mula kita terlebih dahulu membuat 2 buah file yaitu file sumber yang akan
ditransfer (copy) isinya (“from.txt”)
dan tujuan isi yang akan ditransfer (“to.txt”).


Dimana
file “from.txt” berisi teks “APRIANTO DWI ATMAJI” sedangkan untuk
file “to.txt” belum ada isinya.


Setelah
program tersebut dijalankan maka isi dari file “from.txt” akan dioutputkan ke dalam file “to.txt”



6. PARSING
TEXT
Syntax
:
/**
* @(#)parsing.java
*
*
* @author atmaji
* @version 1.00 2011/5/4
*/
import
java.io.*;
public
class parsing {
public
static void main(String[] args) throws IOException {
int
j=0;
String
s = "Data berupa huruf = ";
double[]
d = new double[50];
StreamTokenizer
tokenizer = new StreamTokenizer (new FileInputStream("parsing.txt"));
while(tokenizer.nextToken()
!= StreamTokenizer.TT_EOF){
if(tokenizer.ttype
== StreamTokenizer.TT_WORD) {
s =
s +" "+ tokenizer.sval;
}
else if(tokenizer.ttype == StreamTokenizer.TT_NUMBER) {
d[j]
= tokenizer.nval;
j++;
}
else if(tokenizer.ttype == StreamTokenizer.TT_EOL) {
System.out.println();
}
}
System.out.println(s);
System.out.print("Data
berupa angka = ");
for(int
k=0;k<j;k++)
System.out.print(d[k]+"
");
}
}
File
“parsing.txt” :

Output :

No comments:
Post a Comment