JAVA: Create File Baru
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
- 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.
- 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.
- Terminal Command digunakan untuk compile java code di mesin
- 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/