CodeGym /Blog Jawa /Acak /Jawa - Tulis menyang File
John Squirrels
tingkat
San Francisco

Jawa - Tulis menyang File

Diterbitake ing grup
Salah sawijining tugas sing paling umum ing pangembangan piranti lunak yaiku kemampuan kanggo maca lan nulis file. Ing Jawa, nulis menyang file minangka proses langsung sing bisa ditindakake kanthi nggunakake kelas lan metode sing dibangun. Ing artikel iki, kita bakal njelajah cara nulis menyang file nggunakake Java lan ngrembug macem-macem kelas lan metode sing ana. Java nyedhiyakake kelas sing dibangun kaya FileWriter lan PrintWriter kanggo nulis menyang file ing Jawa.

Tuladha Tulisan Jawa menyang File

Kanggo miwiti, ayo goleki conto prasaja nulis menyang file ing basa Jawa. Mangkene conto carane nulis string menyang file ing Jawa nggunakake kelas FileWriter :

Kelas FileWriter

Kelas FileWriter minangka cara liya kanggo nulis menyang file ing Jawa . Iki minangka kelas stream karakter sing ngidini sampeyan nulis data karakter menyang file. Ing ngisor iki conto sing nuduhake carane nggunakake kelas FileWriter kanggo nulis String menyang file:
import java.io.FileWriter;
import java.io.IOException;


// Main method for the string to file in java starts from here,
public class WriteToFileExample {
    public static void main(String[] args) {
        // create a string to write text to file
        String data = "Hello, world!";

        try {
            // create a FileWriter object with the file name
            FileWriter writer = new FileWriter("output.txt");

            // write the string to the file
            writer.write(data);

            // close the writer
            writer.close();

            System.out.println("Successfully wrote text to file.");

        } catch (IOException e) {
            System.out.println("An error occurred.");
            e.printStackTrace();
        }
    }
}
Ing conto iki, pisanan kita nggawe obyek String sing jenenge data sing ngemot teks sing arep kita tulis menyang file. Banjur kita nggawe obyek FileWriter kanthi jeneng file sing arep kita tulis, ing kasus iki, jenenge output.txt . Sabanjure, kita nggunakake cara nulis () saka obyek FileWriter kanggo nulis senar data kanggo file. Cara iki njupuk argumen String sing ngemot data kanggo ditulis. Pungkasan, kita nutup obyek FileWriter kanggo ngeculake sumber daya file lan nyithak pesen sukses menyang console yen operasi nulis sukses utawa pesen kesalahan yen ana pangecualian. Kelas FileWriter minangka cara prasaja kanggo nulis data karakter menyang file ing Jawa.

Kelas FileOutputStream

Kelas FileOutputStream digunakake kanggo nulis data menyang file minangka stream byte . Iki contone:
import java.io.FileOutputStream;
import java.io.IOException;

public class WriteToFileExample {
    public static void main(String[] args) {
        String textToWrite = "Hello World!";

        try {
            FileOutputStream stream = new FileOutputStream("output.txt");
            byte[] bytesToWrite = textToWrite.getBytes();
            stream.write(bytesToWrite);
            stream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
Ing conto iki, kita nggawe FileOutputStream obyek jenenge stream karo "output.txt" jeneng berkas kanggo nulis kanggo. Banjur kita ngowahi string textToWrite menyang array byte nggunakake metode getBytes () lan nulis array byte menyang obyek stream nggunakake metode write () . Pungkasan, kita nutup obyek stream .

Kelas BufferedWriter

Kelas BufferedWriter digunakake kanggo nulis teks menyang file kanthi kemampuan buffering . Iki contone:
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

public class WriteToFileExample {
    public static void main(String[] args) {
        String textToWrite = "Hello World!";

        try {
            BufferedWriter writer = new BufferedWriter(new FileWriter("output.txt"));
            writer.write(textToWrite);
            writer.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
Ing conto iki, kita nggawe obyek BufferedWriter jenenge writer karo obyek FileWriter sing nulis menyang file "output.txt". Kita banjur nggunakake cara nulis () obyek panulis kanggo nulis textToWrite menyang file. Pungkasan, kita nutup obyek panulis .

Metode WriteString().

Metode writeString () minangka cara trep sing dikenalake ing Jawa 11 kanggo nulis String menyang file nggunakake kelas Files . Iki ngidini sampeyan nulis String menyang file ing baris kode siji. Iki contone:
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class WriteToFileExample {
    public static void main(String[] args) {
        // create a string to write to a file
        String data = "Hello, world!";

        // create a file object
        Path file = Paths.get("output.txt");

        try {
            // write the string to the file using writeString() method
            Files.writeString(file, data);

            System.out.println("Successfully wrote text to file.");

        } catch (IOException e) {
            System.out.println("An error occurred.");
            e.printStackTrace();
        }
    }
}
Ing conto iki, pisanan kita nggawe obyek String sing jenenge data sing ngemot teks sing arep kita tulis menyang file. Kita banjur nggawe obyek Path jenenge file sing nggantosi file kita arep kanggo nulis, ing kasus iki, jenenge "output.txt". Sabanjure, kita nggunakake metode Files.writeString () kanggo nulis senar data menyang file sing diwakili dening obyek file . Cara iki njupuk rong argumen: obyek Path sing makili file sing arep ditulis, lan obyek String sing ngemot data sing arep ditulis. Akhire, kita print pesen sukses kanggo console yen operasi nulis sukses utawa pesen kesalahan yen pangecualian kejiret. Metode writeString() minangka cara sing trep kanggo nulis String menyang file nggunakake Java 11 utawa luwih anyar.

Kelas PrintWriter

Kelas PrintWriter otomatis flushes buffer output sawise saben baris ditulis, mesthekake yen data langsung ditulis menyang file. Iki ndadekake pilihan sing trep kanggo nulis akeh data teks menyang file. Punika conto:
import java.io.PrintWriter;
import java.io.FileWriter;
import java.io.IOException;

public class WriteToFileExample {
    public static void main(String[] args) {
        String textToWrite = "Hello World!";

        try {
            PrintWriter writer = new PrintWriter(new FileWriter("output.txt"));
            writer.println(textToWrite);
            writer.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
Ing conto iki, kita nggawe obyek PrintWriter jenenge writer karo obyek FileWrite sing nulis menyang file "output.txt". Kita banjur nggunakake println () cara obyek writer kanggo nulis textToWrite kanggo file. Pungkasan, kita nutup obyek panulis .

Kelas DataOutputStream

Kelas DataOutputStream digunakake kanggo nulis jinis data Jawa primitif menyang file minangka stream byte . Iki contone:
import java.io.DataOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class WriteToFileExample {
    public static void main(String[] args) {
        String textToWrite = "Hello World!";
        int numberToWrite = 42;

        try {
            DataOutputStream stream = new DataOutputStream(new FileOutputStream("output.txt"));
            stream.writeUTF(textToWrite);
            stream.writeInt(numberToWrite);
            stream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
Ing conto iki, kita nggawe obyek DataOutputStream jenenge stream , sing nulis menyang file "output.txt". Kita banjur nggunakake writeUTF () cara saka obyek stream kanggo nulis textToWrite string lan writeInt () cara kanggo nulis numberToWrite integer kanggo file. Pungkasan, kita nutup obyek stream .

Kelas FileChannel

Kelas FileChannel nyedhiyakake cara kanggo nulis data menyang file nggunakake I/O sing dipetakan memori . Iki contone:
import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;

public class WriteToFileExample {
    public static void main(String[] args) {
        String textToWrite = "Hello World!";

        try {
            File file = new File("output.txt");
            RandomAccessFile randomAccessFile = new RandomAccessFile(file, "rw");
            FileChannel channel = randomAccessFile.getChannel();
            ByteBuffer buffer = ByteBuffer.allocate(1024);
            buffer.put(textToWrite.getBytes());
            buffer.flip();
            channel.write(buffer);
            randomAccessFile.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
Ing conto iki, pisanan kita nggawe obyek File jenenge file kanthi jeneng berkas "output.txt" minangka parameter. Kita banjur nggawe obyek RandomAccessFile jenenge randomAccessFile karo obyek file lan mode "rw" minangka paramèter. Kita banjur nggawe obyek FileChannel jenenge channel , kang initialized nggunakake randomAccessFile object. Banjur nggawe obyek ByteBuffer sing dijenengi buffer kanthi kapasitas 1024 bait lan sijine string textToWrite minangka parameter. Kita banjur flip obyek buffer kanggo nyiapake kanggo nulis lan nulis menyang obyek saluran nggunakake cara nulis () . Pungkasan, kita nutup obyek randomAccessFile .

Kesimpulan

Kesimpulane, nulis menyang file nggunakake Java minangka tugas umum ing pangembangan piranti lunak sing bisa ditindakake kanthi nggunakake sawetara kelas lan metode sing dibangun. Ing artikel iki, kita wis ngrembug sawetara conto carane nulis menyang file, kalebu panggunaan FileOutputStream , BufferedWriter , FileWriter , PrintWriter , DataOutputStream , lan FileChannel kelas. Wigati dimangerteni yen nalika nulis menyang file, penanganan kesalahan sing bener lan nutup file sawise nulis iku penting kanggo mesthekake yen file kasebut disimpen kanthi bener lan sumber daya dibebasake kanthi bener. Kanthi conto sing disedhiyakake ing artikel iki, para pamula saiki bisa duwe pangerten dhasar babagan carane nulis menyang file nggunakake Jawa lan bisa miwiti latihan lan eksperimen karo kasus panggunaan sing beda-beda.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION