Posted by : ☆AkairoツHikari☆
Minggu, 05 Januari 2020
Semua komunikasi yang dilakukan dengan Java menggunakan Stream.
Stream adalah dasar dari operasi input-output (IO) di java yang ada di
dalam package java.io sebagai package utama.
Stream merupakan
representasi abstrak dari input dan output device dimana aliran bytes
akan ditransfer seperti file dalam harddisk,file pada system remote atau
printer. Kita dapat membaca data dari input stream , yang dapat berupa
file ,keyboard atau computer remote, dan dapat menulis data pada output
stream .
Package java.io dapat mendukung dua type stream ,yaitu binary dan
karakter stream. Binary merupakan data berupa bit atau data binary,
sedangkan karakter adalah tipe khusus untuk pembacaan dan penulisan
teks/karakter.
Output stream ,Input stream ,Writer ,Reader merupakan class
abstrak. Kita dapat membuat instance dari class abstrak. Class ini hanya
merupakan basis untuk class turunan yang dapat digunakan untuk operasi
input/output.
InputStream. Input Stream merupakan class abstrak sehingga
anda tidak dapat secara lansung menggunakan class ini .dalam pemrograman
kita akan berurusan dengan subclass-subclass dari class ini yang
memberikan fungsi khusus yang bervariasi. AudioInputStream
,ByteArrayStream ,FileInputStream , FilterInputStream ,
PippedInputStream , dan StringBufferedInputStream. Dua method utama dari
Input Stream adalah :
- read() method ini digunakan untuk membaca stream.
- close() method ini digunakan untuk menutup koneksi input stream.
OutputStream OutputStream merupakan class abstrak tan tidak
dapat lansung anda gunakan dalam program .anda dapat menggunakan
subclass dari outputstream dalam program. Subclass-subclass dari output
stream adalah :
- ByteArrayOutputStream. Digunakan untuk menuliskan stream menjadi byte array.
- FileOutputStream. Digunakan untuk menulis pada file.
- ObjekOutputStream. Untuk menuliskan objek pada OutputStream.
Sebagian method-method OutputStream adalah :
- void close() menutup output stream yang aktif dan melepaskan sumber daya terkait dengan stream tersebut.
- void flush() melakukan flush output stream dan memaksa semua byte buffer untuk dituliskan keluar.
- void write(byte[] b) menulis sebanyak b.legth dari byte array ke output stream.
Buat file dengan nama mydata.txt, (misal saya simpan di D:\temp)
Sebagai contoh isinya :
Selamat Belajar
Yogyakarta 2017
Yogyakarta 2017
Buat Java Class dengan Nama ContohFileInputStream
import java.io.*;
public class ContohFileInputStream{
public static void main(String[] args) {
String inputFile = “d:\\temp\\mydata.txt”;
try{
InputStream input = new FileInputStream(inputFile);
int byteData = input.read();
while(byteData != -1){
String strData = new String(new byte[]{
(byte) byteData});
System.out.print(“Data :”);
System.out.println(strData);
System.out.println(“Data byte :”+byteData);
byteData = input.read();
}input.close();
}catch(Exception ex){
System.out.println(“Error :”+ex.getMessage());
}
}
}
public class ContohFileInputStream{
public static void main(String[] args) {
String inputFile = “d:\\temp\\mydata.txt”;
try{
InputStream input = new FileInputStream(inputFile);
int byteData = input.read();
while(byteData != -1){
String strData = new String(new byte[]{
(byte) byteData});
System.out.print(“Data :”);
System.out.println(strData);
System.out.println(“Data byte :”+byteData);
byteData = input.read();
}input.close();
}catch(Exception ex){
System.out.println(“Error :”+ex.getMessage());
}
}
}
Jalankan!
Buat Java Class dengan nama ContohFileOutputStream
import java.io.*;
public class ContohFileOutputStream{
public static void main(String[] args) {
String source = “d:\\temp\\mydata.txt” ;
String dest = “d:\\temp\\mydata_out.txt” ;
try{
InputStream input = new FileInputStream(source);
byte[] byteData = new byte[10];
int data = input.read(byteData);
OutputStream output = new FileOutputStream(dest);
while (data!=-1){
String strData = new String(byteData);
System.out.println(“Read Data :”+strData);
System.out.println(“Panjang pembacaan data:”+data);
System.out.println(“Tulis ke file”);
output.write(data); System.out.println(“done”);
data = input.read(byteData);
}input.close();output.close(); System.out.println(“Selesai”);
}catch(Exception ex){
System.out.println(“Error:”+ex.getMessage());
}
}
}
public class ContohFileOutputStream{
public static void main(String[] args) {
String source = “d:\\temp\\mydata.txt” ;
String dest = “d:\\temp\\mydata_out.txt” ;
try{
InputStream input = new FileInputStream(source);
byte[] byteData = new byte[10];
int data = input.read(byteData);
OutputStream output = new FileOutputStream(dest);
while (data!=-1){
String strData = new String(byteData);
System.out.println(“Read Data :”+strData);
System.out.println(“Panjang pembacaan data:”+data);
System.out.println(“Tulis ke file”);
output.write(data); System.out.println(“done”);
data = input.read(byteData);
}input.close();output.close(); System.out.println(“Selesai”);
}catch(Exception ex){
System.out.println(“Error:”+ex.getMessage());
}
}
}