JAVA: Create File Baru

From OnnoWiki
Jump to navigation Jump to search

File adalah jalur/path abstrak, tidak memiliki keberadaan fisik. Hanya ketika "menggunakan" File itulah maka penyimpanan fisik yang sebenarnya akan terkena. Ketika file dibuat secara tidak langsung, jalur/path abstrak dibuat. File adalah salah satu cara, di mana data akan disimpan sesuai kebutuhan.


Langkah untuk Create File Baru di Java

  1. Primer, untuk membuat file baru, inbuilt file dan fungsi digunakan yang juga akan menggunakan Exception supaya aman. Jadi untuk menghadapinya, kita akan menggunakan Exception Handling Techniques. Di sini, kita akan menggunakan salah satunya yang dikenal sebagai teknik block as-try-catch.
  2. Sekunder, pekerjaan tambahan hanyalah kita akan mengimpor Class File.


Sintaks: untuk mengimport file library atau class

import java.util.File ;

Sintaks: untuk create file baru

File object_name = new File(Directory)

Sintaks: Untuk menentukan direktori berbeda di sistem operasi yang berbeda (misalkan file java ada di folder bernama 'Folder' yang dibuat di desktop)

Di Linux dan Mac

/Users/mayanksolanki/Desktop/Folder/

Di Windows: ‘ \\ ‘ digunakan dan bukan ‘ / ‘ untuk karakter escape ‘ \ ‘. Maka directory yang di akses menjadi

\\Users\\mayanksolanki\\Desktop\\Folder\\

Ada dua method standar untuk membuat file baru baik secara langsung dengan bantuan Class File atau tidak langsung dengan bantuan FileOutputStream dengan membuat objek file di kedua pendekatan tersebut.

  • Dengan menggunakan Class File
  • Dengan menggunakan Class FileOutputStream
File Class FileOutputStreamClass
Ini adalah Class yang akan digunakan Ini adalah output stream yang akan ditulis ke FileOutputStream JavaDoc
Method: File.createNewFile() Method: FileOutputStream
Example: echo > myFile.txt
Ini digunakan untuk object yang belum ada secara fisik Ini digunakan untuk object yang sudah ada secara fisik

Kedua Class menyediakan beberapa method yang terutama digunakan untuk melakukan operasi file. Misalnya, untuk create, write, compare dua nama path, check apakah ada file tertentu atau tidak, dan banyak lagi. Untuk memahami topik ini, pertama, pertimbangkan satu contoh untuk kedua pendekatan.

  1. Terminal Command digunakan untuk compile java code di mesin
  2. Terminal Command digunakan untuk Run java code di machine
  • javac class_name.java // For Compilation
  • java class_name // For Execution

Terminal sistem operasi Mac akan digunakan untuk implementasi dan menyediakan output untuk mengakses direktori


Directory yang digunakan: /Users/mayanksolanki/Desktop/Folder/ 

Method 1: Create file baru menggunakan Class File

// Java Program to create new file using File class
  
// Importing new files
import java.io.File;
import java.io.BufferedReader;
  
// Importing as it converts bits to strings
import java.io.InputStreamReader;
  
public class GFG {
  
    // Main Driver Method
    public static void main(String args[])
    {
        // Creating New File via function
        GFG gfg = new GFG();
        gfg.newFile();
    }
  
    // Function To Make New File
    public void newFile()
    {
        String strPath = "", strName = "";
  
        // Try-catch Block
        try {
  
            // Creating BufferedReadered object
            BufferedReader br = new BufferedReader(
                new InputStreamReader(System.in));
            System.out.println("Enter the file name:");
  
            // Reading File name
            strName = br.readLine();
            System.out.println("Enter the file path:");
  
            // Reading File Path
            strPath = br.readLine();
  
            // Creating File Object
            File file1
                = new File(strPath + "" + strName + ".txt");
  
            // Method createNewFile() method creates blank
            // file.
            file1.createNewFile();
        }
  
        // Try-Catch Block
        catch (Exception ex1) {
        }
    }
}

Output:

Name of file to be added             : newFile.txt
Directory where file is to be addeed : /Users/mayanksolanki/Desktop/Folder/
Added file name            : newFile.txt
Added file name directory : /Users/mayanksolanki/Desktop/Folder/

Penjelasan:

  • Untuk membuat file baru menggunakan java, Class "File" digunakan di sini. Class "BufferedReader" dan "InputStreamReader" digunakan untuk membuat nama file dan path dari pengguna sebagai input. Class ini terletak di dalam paket "java.io". Jadi untuk memanfaatkan Class tersebut, perlu mengimpor Class itu di awal program.
  • Di sini Class dibuat yaitu, "GFG". Dan di dalam Class tersebut method "main()" didefinisikan dari mana eksekusi akan dimulai.
  • Di dalam method "main()" object Class dibuat. Dan object ini digunakan untuk memanggil method "newFile()".
  • Di luar method main(), method newFile() dideklarasikan yang mencakup code untuk mengambil input dari pengguna dan membuat file sesuai input.
  • Karena file memiliki nama dan path sendiri, maka perlu memberi nama untuk file (yang ingin kita buat) dan path (tempat untuk membuat file) untuk file tersebut. Pada baris ini, dua string kosong dideklarasikan yaitu, strName, strPath. “strName, dan strPath digunakan untuk menyimpan nama dan path file ketika pengguna memberikan informasi ini.
  • Untuk mengambil nama file dan path dari pengguna sebagai input, di sini digunakan Class BufferedReader dan Class InputStreamReader. Object BufferedReader “br” berguna untuk mengambil nilai input yang diberikan oleh pengguna.
  • Baris ini mencetak beberapa teks untuk memberikan indikasi kepada pengguna seperti "Enter the file name:". Untuk mencetak teks digunakan fungsi “println()”.
  • Di sini method “readLine()” digunakan untuk mengambil input dan menyimpannya, dalam strName dan strPath.
  • Di sini object dari Class File dibuat dan sebagai parameter, path dan nama file diberikan kepada konstruktor. Di baris kode ini ".txt" adalah format file. Kita dapat mengubahnya sesuai kebutuhan. Objek Class File diperlukan untuk memanggil method yang disediakan di Class-nya.
  • Disini method “createNewFile()” di panggil dengan pertolongan dari File class object. Method create sebuah file kosong pada directory path yang diberikan.
  • Terakhir, di tutup dengan block “try{ }”. Karena, method seperti method readLine() dan createNewFile() menghasilkan exception. Oleh karenanya cara menangani exception try-catch digunakan.

Method 2: Create file baru menggunakan Class FileOutputStream

// Java Program to create new file
// using FileOutputStream class
  
// Importing File Classes
import java.io.FileOutputStream;
  
// Importing BufferedReader Class for taking input
import java.io.BufferedReader;
  
// Importing as it converts bits to strings
import java.io.InputStreamReader;
  
// Function Helping Create New File
public class GFG {
  
    // Main Driver Method
    public static void main(String args[])
    {
        // Creating File Object
        GFG gfg = new GFG();
        gfg.newFile();
    }
  
    // Function To Create A New File
    public void newFile()
    {
        String strFilePath = "", strFileName = "";
  
        // Try-Catch Block
        try {
  
            // Creating BufferClass Object
            BufferedReader br = new BufferedReader(
                new InputStreamReader(System.in));
            System.out.println("Enter the file name:");
  
            // Asking file name from User
            strFileName = br.readLine();
            System.out.println("Enter the file path:");
  
            // Asking file path from User
            strFilePath = br.readLine();
  
            // Creating Object of FileOutputStream Class
            FileOutputStream fos = new FileOutputStream(
                strFilePath + "" + strFileName + ".txt");
        }
  
        // Try-Catch Block
        catch (Exception ex1) {
        }
    }
}

Penjelasan:

Pada contoh kedua, Class File tidak digunakan untuk membuat File baru secara terprogram.

  • Untuk membuat file baru menggunakan bahasa java, Class "FileOutputStream" yang digunakan di sini sementara Class "BufferedReader" & "InputStreamReader" keduanya digunakan untuk mengambil nama file dan path dari pengguna sebagai input. Class ini terletak di dalam paket "java.io". Jadi untuk memanfaatkan Class itu, perlu mengimpornya di awal program.
  • Class yang dibuat yaitu, "GFG". Dan di dalam Class itu method "main()" didefinisikan dari mana eksekusi akan dimulai.

Di dalam object method "main()" maka Class dibuat. Dan object ini digunakan untuk memanggil method "newFile()".

  • Di luar metohd main(), method newFile() dideklarasikan yang mencakup kode untuk mengambil input dari pengguna dan membuat file sesuai input.
  • Pada baris ini, dua string kosong dideklarasikan yaitu, strFileName, strFilePath. “strFileName dan strFilePath digunakan untuk menyimpan nama dan path file ketika pengguna memberikan informasi ini.
  • Untuk mengambil nama file dan path dari pengguna sebagai input, di sini digunakan Class BufferedReader dan Class InputStreamReader. Objek BufferedReader “br” berguna untuk mengambil nilai input yang diberikan oleh pengguna.
  • Baris ini mencetak beberapa teks untuk memberikan indikasi kepada pengguna seperti "Enter the file name:". Untuk mencetak teks digunakan fungsi “println()”.
  • Di sini method "readLine()" digunakan untuk mengambil input dan menyimpannya, di strFileName dan strFilePath.
  • Di sini object Class FileOutputStream dibuat dan sebagai parameter, path dan nama file diberikan ke konstruktor. Di baris kode ini ".txt" adalah format file. Anda dapat mengubahnya sesuai kebutuhan. Object Class FileOutputStream diperlukan untuk memanggil method yang disediakan di Class-nya. Misalnya, jika pengguna ingin menyimpan beberapa teks dalam file yang baru dibuat secara terprogram, maka metode write() akan membantu.
  • Terakhir, diapit oleh blok “try{}”. Karena, method readLine() menghasilkan exception. Jadi untuk menangani exception try, blok catch digunakan.


Output:

Ini akan sama dengan yang sebelumnya karena hanya pendekatan untuk membuat file baru telah mengubah sisa nama file dan direktori tempat file ditambahkan tetap sama.

Added file name            : newFile.txt
Added file name directory : /Users/mayanksolanki/Desktop/Folder/

Referensi