JAVA: Write ke File

From OnnoWiki
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Disini, kita akan melihat berbagai cara menulis ke dalam File menggunakan bahasa Pemrograman Java. Class Java FileWriter di java digunakan untuk menulis data berorientasi karakter ke file karena Class ini adalah Class berorientasi karakter karena apa yang digunakan dalam penanganan file di java.

Ada banyak cara untuk menulis ke dalam file di Java karena ada banyak Class dan method yang dapat memenuhi tujuan sebagai berikut:

  • Menggunakan Method writeString()
  • Menggunakan Class FileWriter
  • Menggunakan Class BufferedWriter
  • Menggunakan Class FileOutputStream

Method 1: Mengggunakan Method writeString()

Method ini didukung oleh Java versi 11. Method ini dapat mengambil empat parameter. Ini adalah path file, urutan karakter, rangkaian karakter, dan opsi. Dua parameter pertama adalah wajib bagi metode ini untuk menulis ke dalam file. Itu menulis karakter sebagai konten file. Ini mengembalikan path file dan dapat membuang empat jenis exception. Lebih baik digunakan ketika isi file pendek.

Contoh: Ini menunjukkan penggunaan method writeString() yang ada di bawah Class Files untuk menulis data ke dalam file. Class lain, Path, digunakan untuk menetapkan nama file dengan path tempat konten akan ditulis. Class file memiliki method lain bernama readString() untuk membaca konten file yang ada yang digunakan dalam code untuk memeriksa apakah konten ditulis dengan benar dalam file.

// Java Program to Write Into a File
// using writeString() Method
 
// Importing required classes
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
 
// Main class
public class GFG {
 
    // Main driver method
    public static void main(String[] args)
        throws IOException
    {
        // Assigning the content of the file
        String text
            = "Welcome to geekforgeeks\nHappy Learning!";
 
        // Defining the file name of the file
        Path fileName = Path.of(
            "/Users/mayanksolanki/Desktop/demo.docx");
 
        // Writing into the file
        Files.writeString(fileName, text);
 
        // Reading the content of the file
        String file_content = Files.readString(fileName);
 
        // Printing the content inside the file
        System.out.println(file_content);
    }
}

Output

Welcome to geekforgeeks
Happy Learning!

Method 2: Menggunakan Class FileWriter

Untuk konten dari file yang pendek, maka menggunakan Class FileWriter untuk menulis dalam file adalah pilihan lain yang lebih baik. Itu juga menulis stream karakter sebagai konten file seperti metode writeString(). Konstruktor Class ini mendefinisikan pengkodean karakter default dan ukuran buffer default dalam byte.

Contoh di bawah ini mengilustrasikan penggunaan Class FileWriter untuk menulis konten ke dalam file. Ini membutuhkan pembuatan object Class FileWriter dengan nama file untuk ditulis ke dalam file. Selanjutnya, method write() digunakan untuk menulis nilai variabel teks dalam file. Jika terjadi kesalahan pada saat penulisan file, maka IOException akan dilempar, dan pesan kesalahan akan dicetak dari blok catch.


Contoh:

// Java Program to Write into a File
// using FileWriterClass
 
// Importing required classes
import java.io.FileWriter;
import java.io.IOException;
 
// Main class
public class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
 
        // Content to be assigned to a file
        // Custom input just for illustratinon purposes
        String text
            = "Computer Science Portal GeeksforGeeks";
 
        // Try block to check if exception occurs
        try {
 
            // Create a FileWriter object
            // to write in the file
            FileWriter fWriter = new FileWriter(
                "/Users/mayanksolanki/Desktop/demo.docx");
 
            // Writing into file
            // Note: The content taken above inside the
            // string
            fWriter.write(text);
 
            // Printing the contents of a file
            System.out.println(text);
 
             // Closing the file writing connection
            fWriter.close();
 
            // Display message for successful execution of
            // program on the console
            System.out.println(
                "File is created successfully with the content.");
        }
 
        // Catch block to handle if exception occurs
        catch (IOException e) {
 
            // Print the exception
            System.out.print(e.getMessage());
        }
    }
}

Output

File is created successfully with the content.

Method 3: Menggunakan Class BufferedWriter

Ini digunakan untuk menulis teks ke stream keluaran karakter. Ini memiliki ukuran buffer default, tetapi ukuran buffer yang besar dapat ditetapkan. Ini berguna untuk menulis karakter, string, dan array. Lebih baik untuk membungkus Class ini dengan Class writer apa pun untuk menulis data ke file jika tidak diperlukan output prompt.


Contoh:

// Java Program to write into a File
// Using BufferedWriter Class
 
// Importing java input output libraries
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
 
// Main class
public class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
 
        // Assigning the file content
        // Note: Custom contents taken as input to
        // illustrate
        String text
            = "Computer Science Portal GeeksforGeks";
 
        // Try block to check for exceptions
        try {
 
            // Step 1: Create an object of BufferedWriter
            BufferedWriter f_writer
                = new BufferedWriter(new FileWriter(
                    "/Users/mayanksolanki/Desktop/demo.docx"));
 
            // Step 2: Write text(content) to file
            f_writer.write(text);
 
            // Step 3: Printing the content inside the file
            // on the terminal/CMD
            System.out.print(text);
 
            // Step 4: Display message showcasing
            // successful execution of the program
            System.out.print(
                "File is created successfully with the content.");
 
            // Step 5: Close the BufferedWriter object
            f_writer.close();
        }
 
        // Catch block to handle if exceptions occurs
        catch (IOException e) {
 
            // Print the exception on console
            // using getMessage() method
            System.out.print(e.getMessage());
        }
    }
}

Output

File is created successfully with the content.

Contoh berikut menunjukkan penggunaan Class BufferedWriter untuk menulis ke dalam file. Itu juga membutuhkan pembuatan object Class BufferedWriter seperti FileWriter untuk menulis konten ke dalam file. Tetapi Class ini mendukung konten besar untuk ditulis ke dalam file dengan menggunakan ukuran buffer yang besar.

Method 4: Menggunakan Class FileOutputStream

Ini digunakan untuk menulis stream data mentah ke file. Class FileWriter dan Class BufferedWriter digunakan untuk menulis hanya teks ke file, tetapi data biner dapat ditulis dengan menggunakan Class FileOutputStream.

Untuk menulis data ke dalam file menggunakan Class FileOutputStream ditunjukkan pada contoh berikut. Itu juga membutuhkan pembuatan object Class dengan nama file untuk menulis data ke dalam file. Di sini, konten string diubah menjadi array byte yang ditulis ke dalam file dengan menggunakan method write().

Contoh:

// Java Program to Write into a File
// using FileOutputStream Class
 
// Importing java input output classes
import java.io.FileOutputStream;
import java.io.IOException;
 
public class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
 
        // Assign the file content
        String fileContent = "Welcome to geeksforgeeks";
        FileOutputStream outputStream = null;
 
        // Try block to check if exception occurs
        try {
 
            // Step 1:  Create an object of FileOutputStream
            outputStream = new FileOutputStream("file.txt"); 
 
            // Step 2: Store byte content from string
            byte[] strToBytes = fileContent.getBytes();

            // Step 3: Write into the file
            outputStream.write(strToBytes);

            // Print the success message (Optional)
            System.out.print(
               "File is created successfully with the content.");
        }
 
        // Catch block to handle the exception
        catch (IOException e) {
 
            // Display the exception/s
            System.out.print(e.getMessage());
        }
 
        // finally keyword is used with in try catch block
        // and this code will always execute whether
        // exception occurred or not
        finally {
 
            // Step 4: Close the object
            if (outputStream != null) {
 
                // Note: Second try catch block ensures that
                // the file is closed even if an error
                // occurs
                try {
 
                    // Closing the file connections
                    // if no exception has occurred
                    outputStream.close();
                }
 
                catch (IOException e) {
 
                    // Display exceptions if occurred
                    System.out.print(e.getMessage());
                 }
            }
          }
   }
} 

Output

File is created successfully with the content.

Referensi