Rumah  >  Artikel  >  Java  >  Fail Teks dalam Java

Fail Teks dalam Java

WBOY
WBOYasal
2024-08-30 15:54:181195semak imbas

Pengaturcara menggunakan fail teks dalam Java semasa bekerja dengan aplikasi Java yang memerlukan membaca dan menulis pada fail. Fail teks ialah cara universal untuk menyimpan maklumat, kod atau sebarang data lain. Fail teks dianggap sebagai urutan aksara yang disusun secara mendatar. Fail teks dalam Java mempunyai sambungan seperti .java yang mengandungi kod Java. Java menyediakan utiliti yang berbeza yang membolehkan anda berurusan dengan fail teks biasa dengan sama ada membaca daripadanya atau menulis kepadanya. Anda boleh memilih mana-mana utiliti baca/tulis mengikut pemahaman anda.

Fail Teks dalam Java

Sorotan Utama

  • Fail teks diperbuat daripada aksara yang berbeza, di mana seseorang boleh melakukan operasi baca dan tulis menggunakan java.io.package.
  • Untuk membaca, anda boleh menggunakan Kelas Pembaca atau kelas utiliti. Beberapa kelas utiliti ialah- Kelas Fail, FileReader, BufferedReader dan kelas Pengimbas.
  • Untuk menulis ke fail dalam Java, anda boleh menggunakan Java 7 Files, FileWriter, BufferedWriter dan FileOutputStream.
  • Menggunakan kaedah yang berbeza, anda boleh menguruskan fail teks dalam Java dengan cekap.

Bagaimana untuk Membaca Fail Teks dalam Java?

  • Dalam fail teks, setiap baris mempunyai aksara biasa dan setiap baris ditandai dengan simbol "akhir baris" yang tidak kelihatan yang mewakili penghujung baris tertentu itu.
  • Untuk membaca fail teks dalam Java, utiliti berbeza tersedia. Setiap utiliti mempunyai cara membaca daripada fail teks dan menawarkan beberapa fungsi yang berbeza daripada alternatif lain.
  • Di sini kami akan menerangkan kaedah yang berbeza dengan contoh yang baik untuk pemahaman yang lebih baik.

Sebelum bermula dengan kaedah, kami sedang mempertimbangkan fail teks "test.txt" di laluan "/Users/praashibansal/Desktop/Data/test.txt" dengan kandungan "Hello, there".

IKLAN Kursus Popular dalam kategori ini JAVA MASTERY - Pengkhususan | 78 Siri Kursus | 15 Ujian Olok-olok

Fail Teks dalam Java

Kaedah 1 – Menggunakan Kelas BufferedReader

  • Anda boleh menggunakan kaedah ini untuk membaca teks daripada strim input aksara. Anda boleh menggunakan saiz penimbal lalai (8KB) ​​atau tentukan saiz anda sendiri. Ia menyokong pengekodan.
  • Setiap permintaan mempunyai Pembaca yang membuat permintaan baca yang dibuat daripada strim aksara atau strim bait yang mendasari.
  • Oleh itu, ramai pembangun mengesyorkan membungkus BufferedReader di sekeliling mana-mana Pembaca menggunakan operasi read()nya.
  • Ia berfungsi dengan baik untuk memproses fail besar. Kaedah ini disegerakkan dan dengan itu boleh digunakan daripada berbilang benang.

Kod:

import java.io.*;
 public class BReader {
       public static void main(String[] args) throws Exception
    {
              File f = new File(
            "https://cdn.educba.com/Users/praashibansal/Desktop/Data/test.txt");
             // Creating an object
        BufferedReader b
            = new BufferedReader(new FileReader(f));
        // Declaring a string variable
        String s;
        // Condition holds till
        // there is a character in a string
        while ((s = b.readLine()) != null)
            // Print the string
            System.out.println(s);
    }
}

Output:

Fail Teks dalam Java

Kaedah 2 – Menggunakan Kelas FileReader

  • Anda boleh menggunakan FileReader untuk mendapatkan BufferedReader dan mula membaca fail.
  • Tidak seperti BufferedReader, ia tidak menyokong pengekodan dan sebaliknya menggunakan pengekodan lalai sistem.
  • Ini hanyalah cara mudah untuk membaca aksara.
  • Kelas ini menggunakan tiga pembina.
  • FileReader(Fail Fail): Mencipta FileReader baharu. Fail ialah fail dari mana anda akan membaca kandungannya.
  • FileReader(FileDescriptor fd): Mencipta FileReader baharu yang membaca daripada fail yang dinyatakan sebagai FileDescriptor.
  • FileReader(String fileName): Mencipta FileReader baharu yang akan membaca daripada fail bernama FileName.

Kod:

import java.io.*;
public class RFile {
     public static void main(String[] args) throws Exception
    {
        // Passing the file’s path 
        FileReader f = new FileReader(
            "https://cdn.educba.com/Users/praashibansal/Desktop/Data/test.txt");
        // declaring loop variable
        int i;
             while ((i = f.read()) != -1)
            // Print the content of a file
            System.out.print((char)i);
    }
}

Output:

Fail Teks dalam Java

Kaedah 3 – Menggunakan Kelas Pengimbas

  • Ia ialah pengimbas teks ringkas, dan ia mampu menghuraikan jenis dan rentetan primitif melalui ungkapan biasa.
  • Ia memecahkan input kepada token melalui corak pembatas. Secara lalai, pembatas ialah ruang putih.
  • Kemudian token bertukar kepada jenis nilai yang berbeza.

Kod:

import java.io.File;
import java.util.Scanner;
public class ReadScan
{
  public static void main(String[] args) throws Exception
  {
    // passing the file’s path
    File file = new File("https://cdn.educba.com/Users/praashibansal/Desktop/Data/test.txt");
    Scanner s = new Scanner(file);
    while (s.hasNextLine())
      System.out.println(s.nextLine());
  }
}

Output:

Fail Teks dalam Java

Kaedah 4 – Menggunakan Kaedah Kelas Fail

  • Kelas fail MENGGUNAKAN kaedah berikut untuk membaca fail.
  • readAllBytes(Path path): membaca semua bait daripada fail dan mengembalikan tatasusunan bait yang mengandungi bait daripada fail.
  • readAllLines(Path path, Charsetcs): membaca semua baris daripada fail dan mengembalikan Senarai dengan baris daripada fail.

Kod:

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class FCExample {
	public static void main(String[] args) {
		Path path = Paths.get("https://cdn.educba.com/Users/praashibansal/Desktop/Data/test.txt");
		try {
			byte[] b = Files.readAllBytes(path);
			System.out.println("Read bytes: \n"+new String(b));
		} catch (IOException e) {
		}
	}

}

Output:

Fail Teks dalam Java

How to Write a Text File in Java?

  • Writing a text file in Java is also a simple process. Java offers different utilities to help write the lines to the file.
  • Now for this process, we are assuming a file at the location- C:\\Users\\Data\\Desktop\\write.txt to which we are writing.

Method 1 – Using FileWriter Method

  • This all-in-one method allows you to write int, byte array, and String to the File.
  • It allows you to write directly into Files and is used in case of the less writes.
  • Using the FileWriter method, you can write part of the String or byte array.

Code:

import java.io.FileWriter; 
 public class FWFile { 
 public static void main(String args[]){ 
 try{ 
 FileWriter f=new FileWriter("https://cdn.educba.com/Users/praashibansal/Desktop/Data/test.txt"); 
 f.write("Hello"); 
 f.close(); 
 }
catch(Exception e)
{
System.out.println(e);
} 
 System.out.println("Hello"); 
 } 
 }

Output:

Fail Teks dalam Java

Method 2 – Using BufferedWriter Method

  • BufferedWriter is similar to FileWriter, but BufferedWriter uses an internal buffer to write data into File.
  • It works well if you need to do more write operations and to ensure performance.

Code:

import java.io.FileWriter;
import java.io.BufferedWriter;
import java.io.IOException;

public class BRExample {
  public static void main(String args[]) {
    String data = "data for output file";
    try {
      // Creates a FileWriter
      FileWriter file = new FileWriter("https://cdn.educba.com/Users/praashibansal/Desktop/Data/test.txt");
        try ( // Creates a BufferedWriter
                var o = new BufferedWriter(file)) {
            // Writes the string to the file
            o.write(data);
        }
    }
    catch (IOException e) {
      e.getStackTrace();
    }
  }
}

Output:

Fail Teks dalam Java

Method 3 – Using FileOutputStream Method

  • For writing text to the file, you can simply use FileWriter and BufferedWriter.
  • But, if you want the raw stream data to be written directly into a file, it is recommended to use the FileOutputStream utility.
  • With this method, you must create the class object with the specific filename to write data into a file.
  • The following example converts the string content into the byte array we will write into the file using the write() method.

Code:

import java.io.FileOutputStream;
import java.io.IOException;
public class GFG {
       public static void main(String[] args)
    {
        String f = "Hello";
        FileOutputStream o = null;
        // starting Try block 
        try {
            // creating an object of FileOutputStream
            o = new FileOutputStream("https://cdn.educba.com/Users/praashibansal/Desktop/Data/test.txt");
            // storing byte content from string
            byte[] str = f.getBytes();
            // writing into the file
            o.write(str);
            // printing success message 
            System.out.print(
                "data added successfully.");
        }
        // Catch block for exception handling
        catch (IOException e) {
                     System.out.print(e.getMessage());
        }
        finally {
            // closing the object
            if (o != null) {
                // checking if the file is closed 
                       try {
                                                       o.close();
                }
                catch (IOException e) {
                    // showing exception message
                    System.out.print(e.getMessage());
                }
            }
        }
    }
}

Output:

Fail Teks dalam Java

Method 4 – Using Files Class

  • In Java 7, you will get another utility, Files class, allowing you to write to a text file using its write function.
  • Internally, this class uses the OutputStream utility to write a byte array into the file.

Code:

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
/**
 * Java Files write file example
 * 
 * @author pankaj
 *
 */
public class FCExample {
	public static void main(String[] args) {
		Path path = Paths.get("https://cdn.educba.com/Users/praashibansal/Desktop/Data/test.txt");
		try {
			String str = "Example";
			byte[] bs = str.getBytes();
			Path w = Files.write(path, bs);
			System.out.println("Written content in file:\n"+ new String(Files.readAllBytes(w)));
		} catch (IOException e) {
		}
	}
}

Output:

Fail Teks dalam Java

Conclusion

Reading and writing a file in Java is a straightforward process. With the availability of different methods and utilities in Java, you can choose a specific way to read from and write to a file. Each utility has its functionality that makes it different from others.

FAQs

Q1. What are the different methods to read a text file in Java?

Answer: To read, you can use Reader Class or utility class. Some utility classes are- File Class, FileReader, BufferedReader, and Scanner class.

Q2. What are the different methods for writing a text file in Java?

Answer: To write a file in Java, you can use FileWriter, BufferedWriter, java 7 Files, FileOutputStream, and many other methods.

Q3. What package to use for handling files in Java?

Answer: You can easily import the File class from the java.io package to work with files.

Atas ialah kandungan terperinci Fail Teks dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn