Latihan 1
Membaca File
dengan FileInputStream
·
Program untuk
menghitung jumlah bytes yang dibaca dari File.
·
Dibuat obyek
dari class FileInputStream
·
Perhatikan bahwa
membaca file dapat menyebabkan Exception, karena itu diperlukan adanya
penangkapan sinyal exception bila terjadi error.
package iostream;
import java.io.*;
public class BacaFile {
FileInputStream fin;
boolean eof;
public BacaFile() {
File f = new File("F:\\Pemrograman Jaringan
Komputer\\text.txt");
if(f.exists()
&& f.isFile())
{
System.out.println("OK");
}else {
System.out.println("File Not Found");
System.exit(-1);
}
try {
fin = new FileInputStream(f);
eof = false;
int count = 0;
while(!eof) {
int input = fin.read();
if(input == -1) {
eof = true;
}else {
count++;
}
}
fin.close();
System.out.println("Jumlah bytes : " +count);
}catch(IOException ioe) {
System.out.println("Ada Error");
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new BacaFile();
}
}
Ketika ada file dalam
direktori
Latihan 2
Membaca File dengan FileInputStream
·
Program dengan
menggunakan class FileInputStream yang membaca file dengan menggunakan method
read() yang membaca karakter per byte.
·
Memanfaatkan
class PrintStream untuk menampilkan data yang telah dibaca dari file. data yang
telah dibaca dari file.
·
Contoh:
System.out. digunakan method println() atau print() untuk menampilkan data.
package iostream;
import java.io.*;
public class BacaPrintStream {
FileInputStream fin;
public BacaPrintStream() {
byte dataln[];
dataln = new byte[1200];
File f = new File("F:\\Pemrograman Jaringan
Komputer\\text.txt");
if(f.exists()
&& f.isFile())
{
System.out.println("OK");
}else {
System.out.println("File Not Found");
System.exit(-1);
}
try {
int len ;
fin = new FileInputStream(f);
len = fin.read(dataln, 0, dataln.length);
fin.close();
String teks = new String(dataln, 0, len);
System.out.println(teks);
}catch(IOException ioe) {
System.out.println("Ada Error");
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new BacaPrintStream();
}
}
Latihan 3
Menulis File dengan FileOutputStream
·
Program untuk
menulis File
·
Digunakan method
write() untuk menulis file. Perhatikan bahwa method write() menuliskan array of
bytes sehingga teks yang akan ditulis array of bytes sehingga teks yang akan
ditulis harus dalam betuk array of bytes. Sehingga digunakan method getBytes
untuk merubah String ke array of bytes.
package iostream;
import java.io.*;
public class TulisFile {
FileOutputStream fout;
String teks = "Tulisan ini akan disimpan ke
file";
byte buf[];
public TulisFile() {
File f = new File("F:\\Pemrograman Jaringan
Komputer\\tulis.txt");
try {
fout = new FileOutputStream(f);
buf = teks.getBytes();
fout.write(buf);
fout.flush();
fout.close();
System.out.println("Teks ini ditulis ke file : " +f.getName());
}catch(IOException ioe) {
System.out.println("Ada Error");
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new TulisFile();
}
Latihan 4
Membaca File dengan Reader
·
Program untuk
membaca File dengan menggunakan reader.
·
Perhatikan bahwa
di gunakan method ReadLine() yang membaca file perbaris.
·
Untuk
menampilkan isi file, digunakan PrintStream.
package iostream;
import java.io.*;
public class MyReader {
File f;
FileReader fr;
BufferedReader fin;
public MyReader() {
f = new File("F:\\Pemrograman Jaringan
Komputer\\text.txt");
if(f.exists()
&& f.isFile())
{
System.out.println("OK");
}else {
System.out.println("File Not Found");
System.exit(-1);
}
try {
fr = new FileReader(f);
fin = new BufferedReader(fr);
}catch(IOException ioe) {
System.out.println("File Gagal dibuka");
}
}
public void bacaFilePakeReader() {
String str= null;
for( ; ; ) {
try {
str = fin.readLine();
}catch(IOException ioe) {
System.out.println("File Gagal dibuka");;
}
if(str == null) {
break;
}
}
try {
fin.close();
}catch(IOException ioe) {
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new MyReader().bacaFilePakeReader();
}
}
Latihan 5
MenulisFile dengan menggunakan Writer
•Program untuk menulis file
dengan menggunakan writer.
•Perhatikan bahwa menulisfile
dengan writer adalah menulis file per baris
•Untuk menulis ke file
digunakan method println() milik PrintWriter
package iostream;
import java.io.*;
class MyWriter{
File f;
FileWriter fw;
PrintWriter fout;
public MyWriter() {
try {
f = new File("F:\\Pemrograman Jaringan
Komputer\\writer.txt");
fw = new FileWriter(f);
fout = new PrintWriter(fw);
}catch(IOException ioe) {
System.out.println("File Gagal dibuka");
}
}
public void tulisKalimat() {
String kalimat[] = {
"Saya ingin menjadi anak yang pintar",
"maka saya harus belajar dengan tekun",
"supaya saya dapat nilai yang bagus",
};
for(int i = 0; i<kalimat.length; i++) {
fout.println(kalimat[i]);
}
fout.flush();
fout.close();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new MyWriter().tulisKalimat();
}
Latihan 6
Membaca dan menulis dengan RandomAccessFile
package iostream;
import java.io.*;
public class InputOutput {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
RandomAccessFile inout = new RandomAccessFile("sory.dat", "rw");
System.out.println("Pointer is at : " + inout.getFilePointer());
inout.writeUTF("Spike is a ");
long pointer = inout.getFilePointer();
System.out.println("Pointer is now at : " + pointer);
inout.writeUTF("good dog");
inout.seek(pointer);
inout.writeUTF("very good dog ");
inout.seek(0);
System.out.println(inout.readUTF() + inout.readUTF());
inout.close();
}
Latihan 7
Membaca input dari keyboard
package iostream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
class Aritmatika {
public static void main(String[] args) {
// TODO Auto-generated method stub
int pilihan = -1;
try {
while(true) {
System.out.println("Menu aritmatika ke bilangan integer");
System.out.println("===================================");
System.out.println("1. Penambahan");
System.out.println("2. Pengurangan");
System.out.println("3. Perkalian");
System.out.println("4. Pembagian");
System.out.println("5. Modulo");
System.out.println("0. Keluar");
System.out.print(" Pilihalah menu [1-5] : ");
BufferedReader answer = new BufferedReader(new InputStreamReader(System.in));
pilihan = (new Integer(answer.readLine())).intValue();
if(pilihan == 0) {
System.out.println("Terimakasih");
break;
}else if(pilihan > 5 || pilihan < 0) {
System.out.println("Masukkan pilihan salah");
}else {
System.out.print("Masukkan operator 1 : ");
int op1 = (new Integer((new BufferedReader (new InputStreamReader(System.in)).readLine())).intValue());
System.out.print("Masukkan operator 2 : ");
int op2 = (new Integer((new BufferedReader (new InputStreamReader(System.in)).readLine())).intValue());
if(pilihan == 1) {
System.out.println("Hasil Penjumlahan");
System.out.println(op1 +"
+ "+op2+" = "+(op1+op2));
}else if(pilihan == 2) {
System.out.println("Hasil Pengurangan");
System.out.println(op1 +"
- "+op2+" = "+(op1-op2));
}else if(pilihan == 3) {
System.out.println("Hasil Perkalian");
System.out.println(op1 +"
* "+op2+" = "+(op1*op2));
}else if(pilihan == 4) {
System.out.println("Hasil Pembagian");
System.out.println(op1 +"
/ "+op2+" = "+(op1/op2));
}else if(pilihan == 5) {
System.out.println("Hasil Modulo");
System.out.println(op1 +"
% "+op2+" = "+(op1%op2));
}
System.out.println("\n\n");
}
}
}catch(IOException e) {
System.out.println("Error I/O");
System.exit(0);
}
}
Latihan 8
·
Menampilkan
daftar file dalam suatu direktori dengan menggunakan FileJChooser.
·
Digunakan
JFrame sebagai container
package iostream;
import java.awt.Container;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
class FileChooser extends JFrame{
private JFileChooser fChooser;
private File f;
private String namaFile;
public FileChooser() {
Container c = getContentPane();
fChooser = new JFileChooser();
int pilihan = fChooser.showOpenDialog(c);
if(pilihan == JFileChooser.APPROVE_OPTION) {
f = fChooser.getSelectedFile();
namaFile = f.getName();
System.out.println("Nama File : " + namaFile);
}
addWindowListener(new WindowAdapter() {
public void WindowClosing(WindowEvent ev) {
System.exit(0);
}
});
setSize(300, 300);
setLocation(100, 100);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
Latihan 9
Filtering a stream
·
Contoh
penggunaan FilterWriter
·
Membaca per satu
character dari suatu file dan menulis ke file yang lain dalam bentuk uppercase
·
Untuk mencoba
program:
–Buat
file text sebagai file input yang berisi sekumpulan huruf
–Buat
file text sebagai file input yang berisi sekumpulan huruf a-z
–Buat file text kosong sebagai file output
–It
as the <input file> argument
·
Cara menggunakan
program java TestFileWriter <input file> <output file>
package iostream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.FilterWriter;
import java.io.IOException;
class TestFilterWriter {
public static void main(String[] args) {
// TODO Auto-generated method stub
String usage = "\n\tUsage
: Java TestFilterWriter <input file> <output file>";
if(args.length != 2){
System.err.println(usage);
System.exit(-1);
}
try {
FileReader in = new FileReader(args[0]);
FilterWriter fo = new FilterWriter(new FileWriter(args[1]))
{
public void write(int c) throws IOException{
out.write(Character.toUpperCase((char)c));
}
};
int ch = 0;
while((ch = in.read())
!= -1) {
fo.write(ch);
}
in.close();
fo.flush();
fo.close();
}catch(FileNotFoundException e) {
System.err.println(e);
}catch(IOException e) {
System.err.println(e);
}
}
}











No comments:
Post a Comment