Java Programming - Copying a File

in #programming7 years ago

Hello Steemians!

Kali ini aku ingin berbagi code menggunakan salah satu programming language, yaitu Bahasa Java (bukan bahasa Jawa yak. itu beda lagi). Program ini adalah program sederhana untuk copy file apa saja (lagu, video, dokumen, dsb) di laptop/komputermu. Saking sederhananya, program ini masih text-based. Pastikan kamu menginstall Java JDK terlebih dahulu yaa sebelum menjalankan programnya. Any question? Silahkan ccomment!

/*Program Copy Berkas Menggunakan Buffer dengan Keterangan Waktu

import java.io.*;
import java.text.DecimalFormat;
import java.util.Scanner;

public class KopiBerkasBuffered
{

public void kopiBerkas (String fileAsli, String fileSasaran) throws IOException
{
    // Pendeklarasian variabel
      BufferedInputStream in = null;
      BufferedOutputStream out = null;

      try
      {
          // Object stream
          in = new BufferedInputStream(new FileInputStream(fileAsli));
          out = new BufferedOutputStream(new FileOutputStream(fileSasaran));

        // Coba baca  dari stream
        int karakter = in.read();
        // Selama masih ada data yang bisa dibaca
        while ((karakter = in.read())!= -1)
        {
            // Kirim ke keluaran
            out.write(karakter);
        }
    }
    finally
    {
        // Tutup stream masukan
        if (in != null)
            in.close();
        // Tutup stream keluaran
        if (out != null)
            out.close();
    }
}

public static void main(String[] args) throws IOException
{
     long mulai, selesai;
     int jam = 0, menit = 0;

    try
    {
      KopiBerkasBuffered copyFile = new KopiBerkasBuffered();
      Scanner input = new Scanner (System.in);
      String fileAsli, fileSasaran;

      System.out.println("~~~~~~~~~WELCOME!~~~~~~~~~~~~~~~~");
      System.out.println("    ");
      System.out.print("Nama file yang ingin dicopy: ");
      fileAsli = input.next();
      System.out.print("Nama file baru: ");
      fileSasaran = input.next();

      mulai = System.currentTimeMillis();    //menghitung waktu proses copy dalam detik
      copyFile.kopiBerkas (fileAsli, fileSasaran);
      System.out.println("  ");
      System.out.println("File berhasil dicopy.. ");

      selesai = System.currentTimeMillis();

      double durasiWaktu = (double)(selesai - mulai) / 1000;
      DecimalFormat runtimeDF = new DecimalFormat("##0.0");

        while(durasiWaktu >= 60)
        {
            menit++;
            durasiWaktu-=60;
        }

        while(menit >= 60)
        {
            jam++;
            menit-=60;
        }

      System.out.println("\nWaktu proses copy file adalah " + jam +" jam " + menit +" menit " + runtimeDF.format(durasiWaktu) + " detik");
      System.out.println("Terima kasih ^_^");
    }
    catch (IOException kesalahan)
    {
        System.out.printf("Oops.. Terjadi kesalahan: %s", kesalahan);
    }

}

}