Java Programming - Copying a File
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
- @Alvi Rizka Aldyza
*/
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);
}
}
}