Media Belajar Bahasa Pemrograman | by APPKEY

Java Tutorial Java 10 : Cara Mengambil Input dan Menampilkan...

Tutorial Java 10 : Cara Mengambil Input dan Menampilkan Output File di Java

-

Artikel seri tutorial Java sebelumnya telah membahas tentang inheritance pada Java. Kali ini, Codekey akan mengajak Anda untuk mengetahui tentang Input Output Java atau yang dikenal juga dengan Java I/O.

Java sendiri menggunakan konsep Stream untuk membuat operasi I/O menjadi lebih cepat. Paket dari Java.io sendiri berisikan kelas yang dibutuhkan untuk input dan output.

Semua stream ini mewakili sumber input maupun tujuan output. Stream dalam paket java.io mendukung banyak data seperti primitif, objek, karakter lokal, dan lain sebagainya. Jika Anda tertarik untuk belajar lebih banyak tentang Input Output Java, pastikan Anda menyimak artikel ini sampai habis.

Artikel Terkait  Tutorial Java 13 : Mengenal dan Memahami Abstract Class pada Java

Stream
input output java

Sebelum belajar tentang cara input output Java, Anda perlu memahami dulu tentang Stream. Apa itu stream?

Stream dapat didefinisikan sebagai bagian-bagian dari data. Ada dua stream yang perlu Anda ketahui yaitu:

  1. InPutStream – stream ini digunakan untuk membaca data dari sumber.
  2. OutPutStream – stream ini digunakan untuk menulis data untuk suatu tujuan.

Java sudah menyediakan dukungan I/O yang fleksibel namun kuat berkiatan dengan file dan jaringan. Berikut ini adalah beberapa stream yang sangat umum digunakan.

Byte Streams

ByteStream Java digunakan untuk melakukan input dan output tipe data byte 8-bit. Meskipun ada banyak kelas yang terkait dengan stream byte tetapi kelas yang paling sering digunakan adalah, FileInputStream dan FileOutputStream.

Berikut ini adalah contoh kode yang menggunakan kedua kelas tersebut untuk menyalin file input ke file output.

import java.io.*;
public class CopyFile {

   public static void main(String args[]) throws IOException {  
      FileInputStream in = null;
      FileOutputStream out = null;

      try {
         in = new FileInputStream("input.txt");
         out = new FileOutputStream("output.txt");
         
         int c;
         while ((c = in.read()) != -1) {
            out.write(c);
         }
      }finally {
         if (in != null) {
            in.close();
         }
         if (out != null) {
            out.close();
         }
      }
   }
}

Kemudian, Anda perlu memiliki sebuah file input.txt dengan mengikuti contoh berikut ini:

Ini Adalah Isi txt Untuk Uji Coba.

Langkah selanjutnya, kompilasikan program di atas dan kemudian eksekusi program tersebut, yang mana hasilnya akan membuat sebuat file output.txt dengan konten yang sama seperti yang kita punya dalam input.txt. Jadi, mari tambahkan kode di atas dalam file CopyFile.java dan lakukan hal seperti di bawah ini:

$javac CopyFile.java
$java CopyFile

Character Streams

Java Byte Streams digunakan untuk mengoperasikan input dan output dari 8-bit bytes, yang mana Character Stream pada Java digunakan untuk mengoperasikan input dan output 16-bit Unicode. Meskipun ada banyak kelas yang terkait dengan stream karakter tetapi kelas yang paling sering atau biasanya digunakan adalah, kelas FileReader dan kelas FileWriter.

Meskipun secara internal FileReader menggunakan fungsi FileInputStream dan FileWriter menggunakan fungsi FileOutputStream tetapi, perbedaan utamanya adalah FileReader membaca dua byte sekaligus dan sedangkan FileWriter berfungsi untuk menulis dua byte sekaligus.

Kita dapat menulis ulang contoh di atas, yang menggunakan kedua kelas ini untuk menyalin file input (memiliki karakter unicode) ke dalam file output sebagai berikut:

import java.io.*;
public class CopyFile {

   public static void main(String args[]) throws IOException {
      FileReader in = null;
      FileWriter out = null;

      try {
         in = new FileReader("input.txt");
         out = new FileWriter("output.txt");
         
         int c;
         while ((c = in.read()) != -1) {
            out.write(c);
         }
      }finally {
         if (in != null) {
            in.close();
         }
         if (out != null) {
            out.close();
         }
      }
   }
}

Sekarang kita harus memiliki file input.txt dengan konten berikut:

Ini Adalah Isi txt Untuk Uji Coba.

Pada langkah selanjutnya, kompilasi dari kode program di atas dan yang jalankan, yang akan menghasilkan file output.txt dengan konten yang sama seperti yang kita miliki di input.txt. Kemudian, letakkan kode di atas dalam file CopyFile.java dan lakukan hal berikut:

$javac CopyFile.java
$java CopyFile

Standard Stream

Semua bahasa pemrograman menyediakan dukungan untuk I / O standar. didalam program pengguna dapat mengambil input dari keyboard dan kemudian menghasilkan output di layar komputer. Jika Anda sebelumnya telah mengetahui bahasa pemrograman C atau C ++, maka Anda mengetahui fungsi dari tiga perangkat standar STDIN, STDOUT dan STDERR. Demikian pula, Java menyediakan tiga standard stream berikut:

  1. Standard Input

Standard Input digunakan untuk memasukkan data ke program pengguna dan biasanya keyboard digunakan sebagai stream input standar dan direpresentasikan sebagai System.in.

  1. Standard Output

Standard Output digunakan untuk mengeluarkan data atau output yang dihasilkan oleh program pengguna. biasanya output akan muncul pada layar komputer. digunakan untuk stream keluaran standar dan direpresentasikan sebagai System.out.

  1. Standard Error

Standard Error digunakan untuk mengeluarkan data kesalahan yang dihasilkan oleh program pengguna dan biasanya layar komputer digunakan untuk stream kesalahan standar dan direpresentasikan sebagai System.err.

Berikut ini adalah program sederhana, yang membuat InputStreamReader untuk membaca stream input standar sampai pengguna mengetik “q”:

import java.io.*;
public class ReadConsole {

   public static void main(String args[]) throws IOException {
      InputStreamReader cin = null;

      try {
         cin = new InputStreamReader(System.in);
         System.out.println("Masukkan Karakter, Ketik 'q' Untuk Keluar.");
         char c;
         do {
            c = (char) cin.read();
            System.out.print(c);
         } while(c != 'q');
      }finally {
         if (cin != null) {
            cin.close();
         }
      }
   }
}

Kemudian, simpan kode di atas dalam file ReadConsole.java dan coba kompilasi dan jalankan seperti yang ditunjukkan pada program berikut. Program ini terus membaca dan mengeluarkan karakter yang sama sampai kita menekan ‘q’.

$javac ReadConsole.java
$java ReadConsole
Masukkan Karakter, Ketik 'q' Untuk Keluar.
1
1
e
e
q
q

Membaca dan Menulis File

Seperti yang telah dijelaskan di bagian sebelumnya, stream dapat didefinisikan sebagai urutan data. InputStream digunakan untuk membaca data dari sumber file dan OutputStream digunakan untuk menulis data file ke tujuan yang telah ditentukan. Berikut adalah hierarki kelas untuk menangani stream Input dan Output.

Dua stream penting pada Java I/O adalah FileInputStream dan FileOutputStream, yang akan dibahas dalam tutorial ini.

File Input Stream

Stream ini digunakan untuk membaca data dari file. Objek dapat dibuat menggunakan kata kunci baru dan ada beberapa jenis konstruktor yang telah disediakan.

Konstruktor berikut akan mengambil nama file sebagai string untuk membuat objek stream input yang dapat membaca file:

InputStream f = new FileInputStream("C:/java/hello");

Konstruktor berikut ini mengambil sebuah file objek untuk membuat sebuah objek input stream untuk membaca file tersebut. Pertama, kita membuat sebuah objek dengan menggunakan metode File() seperti di bawah ini:

File f = new File("C:/java/hello");
InputStream f = new FileInputStream(f);

Setelah Anda memiliki objek InputStream, maka ada daftar metode pembantu yang dapat digunakan untuk membaca streaming atau melakukan operasi lain di dalam file stream. Beberapa metode yang dapat Anda gunakan:

  1. public void close () throws IOException {}

Metode ini menutup aliran keluaran file. Merilis sumber daya sistem apa pun yang terkait dengan file tersebut. Anda dapat melakukannya dengan melempar IOException.

  1. protected void finalize () throws IOException {}

Metode ini membersihkan koneksi ke file. Memastikan bahwa metode tutup aliran keluaran file ini dipanggil saat tidak ada lagi referensi ke aliran ini. Masih sama seperti cara sebelumnya, Anda dapat melakukannya dengan melempar IOException.

  1. public int read (int r) throws IOException {}

Metode ini membaca byte data yang ditentukan dari InputStream. Mengembalikan int. Mengembalikan byte dari data berikutnya dan nilai -1 akan dikembalikan jika itu adalah akhir dari file yang dibaca.

  1. public int read (byte [] r) throws IOException {}

Metode ini membaca r.length byte dari aliran input ke dalam array. Mengembalikan jumlah total byte yang dibaca. Jika ini adalah akhir file, -1 akan dikembalikan.

  1. public int available () throws IOException {}

Memberikan jumlah byte yang dapat dibaca dari aliran input file yang digunakan. Mengembalikan int.

Ada juga beberapa input stream penting lainnya yang tersedia, yaitu ByteArrayInputStream dan DataInputStream yang mungkin akan kami bahas di seri tutorial Java selanjutnya. Saat ini kami akan membahas tentang FileOutputStream.

File Output Stream

FileOutputStream digunakan untuk membuat sebuah file dan menulis data yang diberikan dalam java. Stream akan membuat sebuah file, jika hal tersebut belum ada, sebelum Anda membuka file tersebut untuk output.

Berikut ini dua konstruktor yang dapat digunakan untuk membuat objek FileOutputStream dalam program anda. Konstruktor berikut mengambil nama file sebagai string untuk membuat objek aliran input untuk menulis file.

OutputStream f = new FileOutputStream("C:/java/hello")

Konstruktor berikut mengambil objek file untuk membuat objek aliran output untuk menulis file. Pertama, kita membuat objek file menggunakan metode File () sebagai berikut:

File f = new File("C:/java/hello");
OutputStream f = new FileOutputStream(f);

Setelah Anda memiliki objek OutputStream, maka ada daftar metode pembantu, yang dapat digunakan untuk menulis ke streaming atau melakukan operasi lain di aliran.

  1. public void close () throws IOException {}

Metode ini menutup aliran keluaran file. Merilis sumber daya sistem apa pun yang terkait dengan file tersebut.

2. void dilindungi finalize () throws IOException {}

Metode ini membersihkan koneksi ke file. Memastikan bahwa metode tutup aliran keluaran file ini dipanggil saat tidak ada lagi referensi ke aliran ini.

3. public void write (int w) throws IOException {}

Metode ini menulis byte yang ditentukan ke aliran keluaran.

4. public void write (byte [] w)

Menulis w.length byte dari array byte yang disebutkan ke OutputStream. Berikut ini adalah contoh cara untuk mendemonstrasikan InputStream dan OutputStream

import java.io.*;
public class fileStreamTest {

   public static void main(String args[]) {
   
      try {
         byte bWrite [] = {11,21,3,40,5};
         OutputStream os = new FileOutputStream("test.txt");
         for(int x = 0; x < bWrite.length ; x++) {
            os.write( bWrite[x] );   // membaca karakter byte
         }
         os.close();
     
         InputStream is = new FileInputStream("test.txt");
         int size = is.available();

         for(int i = 0; i < size; i++) {
            System.out.print((char)is.read() + "  ");
         }
         is.close();
      } catch (IOException e) {
         System.out.print("Exception");
      }	
   }
}

Kode di atas akan membuat file dengan nama test.txt dan akan menulis angka yang diberikan dalam format tipe data biner. Sama halnya dengan output pada layar stdout. Ada beberapa kelas lain yang akan kita lalui untuk mengetahui dasar-dasar Navigasi File dan I / O yaitu File Class, FileReader Class, dan FileWriter Class.

Direktori di Java

Direktori adalah objek File yang dapat berisi daftar file dan direktori lain. Anda dapat menggunakan objek File untuk membuat direktori, untuk membuat daftar file yang tersedia dalam direktori. Untuk detail lengkap pada penjelasan ini, periksa daftar semua metode yang dapat Anda panggil pada objek File dan apa yang terkait dengan direktori pada java.

Membuat Direktori

Ada dua metode utilitas File yang berguna, yang dapat digunakan untuk membuat direktori

1. Metode mkdir () membuat direktori, mengembalikan nilai true saat berhasil dan false saat gagal. biasanya pada metode ini Kegagalan ditunjukkan bahwa jalur yang ditentukan dalam objek File / path sudah ada, atau direktori tidak dapat dibuat karena seluruh jalur / path file belum ada.

2. Metode mkdirs () membuat direktori dan semua induk direktori.

Contoh berikut membuat direktori “/ tmp / user / java / bin”

import java.io.File;
public class CreateDir {

   public static void main(String args[]) {
      String namadirektori = "/tmp/user/java/bin";
      File d = new File(namadirektori);
      
      // Perintah membuat direktori.
      d.mkdirs();
   }
}

Kompilasi dan jalankan kode di atas untuk membuat “/ tmp / user / java / bin”. Perlu diingat pula, Java secara otomatis menangani pemisah jalur pada UNIX dan Windows sesuai konvensi. Jika Anda menggunakan garis miring (/) pada Java versi Windows, jalur akan tetap terselesaikan dengan benar.

Direktori Pencatatan

Anda dapat menggunakan metode list () yang disediakan oleh objek File untuk membuat daftar semua file dan direktori yang tersedia dalam direktori sebagai berikut:

import java.io.File;
public class ReadDir {

   public static void main(String[] args) {
      File file = null;
      String[] paths;
  
      try {      
         // membuat object file baru
         file = new File("/tmp");

         // array dari file dan direktori 
         paths = file.list();

         // perintah perulangan untuk setiap nama dalam array path 
         for(String path:paths) {
            // mencetak nama file dan nama direktori
            System.out.println(path);
         }
      } catch (Exception e) {
         // jika terdapat error, perintah ini akan dijalankan
         e.printStackTrace();
      }
   }
}

Kode ini akan menghasilkan output sebagai berikut:

test1.txt
test2.txt
ReadDir.java
ReadDir.class

Demikianlah penjelasan tentang Java IO serta contoh program input output java. Masih ada banyak lagi jenis-jenis stream yang ada, namun stream yang digunakan untuk input output Java adalah stream terpenting untuk Anda pahami. Jika Anda tertarik untuk belajar bahasa pemrograman, pastikan Anda mengunjungi website Codekey.

Codekey menyediakan berbagai artikel tutorial, pembahasan, tips dan trik untuk Anda belajar berbagai bahasa pemrograman. Pastikan Anda mendapatkan update terbaru dari situs Codekey.


Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.

Jasa Pembuatan Aplikasi

Jasa Pembuatan Website

Jasa Pembuatan Paket Aplikasi

Jasa Pembuatan Internet Marketing

Tutorial

Subscribe Sekarang

Dapatkan beragam informasi menarik tentang bahasa pemrograman langsung melalui email Anda. Subscribe sekarang dan terus belajar bersama kami!

Blog Post Ranking 10

Tutorial Javascript 1 : Pengenalan Javascript untuk Pemula

Ada banyak sekali jenis bahasa pemrograman yang bisa Anda pelajari untuk menjadi seorang programmer profesional. Salah satunya adalah belajar...

Tutorial Swift 2 : Tahap Awal Persiapan dan Mengatur Lingkungan Kerja pada Swift

Setelah Anda mengenal bahasa pemrograman Swift 4, langkah selanjutnya adalah Anda perlu memulai pemrograman Swift 4 dengan cara install...

Tutorial Javascript 6 : Cara Membuat Event pada Javascript

Event JavaScript adalah tindakan atau proses khusus yang terjadi dalam program atau situs web yang akan Anda kembangkan. Anda...

Tutorial Javascript 2 : Tahap Awal Cara Mudah Menulis Kode di Javascript

Kembali lagi di seri belajar Javascript bersama Codekey! Setelah di postingan sebelumnya Anda belajar Javascript terkait konsep-konsep dasarnya, kini...

Tutorial Dart 1 : Pengenalan Bahasa Pemrogaman Dart untuk Pemula

Halo pembaca setia Codekey! Belajar pemrograman saat ini menjadi keharusan bagi semua orang yang ingin berkarir sebagai programmer, hal...

Tutorial HTML/CSS 3 : Pengenalan Elemen Dasar di HTML

HTML adalah bahasa Markup yang terdiri dari elemen dan tag. Artikel ini akan memberi penjelasan kepada Anda tentang elemen-elemen...

Tutorial Dart 3 : Belajar Menggunakan Syntax atau Perintah dasar Dart

Setelah mengatur lingkungan kerja serta instalasi Dart ke dalam sistem operasi yang kalian miliki, dalam pembuatan suatu program baik...

Tutorial HTML/CSS 1 : Pengenalan HTML untuk Pemula

Jika Anda seorang pemula dalam dunia coding dan ingin mengetahui atau belajar HTML dasar, maka artikel ini akan cocok...

Tutorial Javascript 9 : Cepat dan Mudah Cara Mengurutkan Data Array di Javascript

Pada artikel sebelumnya Anda mungkin telah membaca dan mempelajari tentang Array di JavaScript. Pada artikel kali ini, kami akan...

Tutorial Python 7 : Tutorial Dasar Cara Mengoperasikan String pada Python

Anda ingin belajar Python dan ingin menjadi ahli dalam bahasa pemrograman Python? Mari belajar bersama Codekey! Pada pembahasan kali...

Bisnis

Online Service

Peluang Bisnis

Model Bisnis

Entrepreneurship

Uang

Ketrampilan

Outsourcing

Monetize

Pemasaran

SEO

Internet Marketing

Dasar Pemasaran

Strategi Pemasaran

Situs Web Analitik

Iklan

Teknologi

Teknologi Terbaru

AI

Komputer

Jaringan

Paling Sering dibaca
Mungkin Anda Menyukainya