CodeGym /جاوا بلاگ /Random-SD /جاوا - فائل ڏانهن لکو
John Squirrels
سطح
San Francisco

جاوا - فائل ڏانهن لکو

گروپ ۾ شايع ٿيل
سافٽ ويئر ڊولپمينٽ ۾ سڀ کان عام ڪمن مان هڪ آهي فائلن کي پڙهڻ ۽ لکڻ جي صلاحيت. جاوا ۾، هڪ فائل ڏانهن لکڻ هڪ سڌو عمل آهي جيڪو استعمال ڪري سگهجي ٿو تعمير ٿيل طبقن ۽ طريقن سان. هن آرٽيڪل ۾، اسان اهو معلوم ڪنداسين ته جاوا استعمال ڪندي فائل کي ڪيئن لکجي ۽ مختلف طبقن ۽ طريقن تي بحث ڪيو وڃي. جاوا جاوا ۾ فائل ۾ لکڻ لاءِ FileWriter ۽ PrintWriter وانگر بلٽ ان ڪلاس مهيا ڪري ٿو .

جاوا لکندا فائل مثال

شروع ڪرڻ سان، اچو ته ڏسو هڪ سادي مثال جاوا ۾ هڪ فائل تي لکڻ جو. ھتي ھڪڙو مثال آھي جاوا ۾ ھڪڙي فائل تي ھڪڙي اسٽرنگ کي ڪيئن لکڻ لاء FileWriter ڪلاس استعمال ڪندي:

فائل رائٽر ڪلاس

FileWriter ڪلاس هڪ ٻيو طريقو آهي جاوا ۾ فائل لکڻ جو . اهو هڪ ڪردار اسٽريم ڪلاس آهي جيڪو توهان کي اجازت ڏئي ٿو ڪردار ڊيٽا کي فائل ۾ لکڻ. ھتي ھڪڙو مثال آھي جيڪو ظاھر ڪري ٿو ته ڪيئن استعمال ڪجي FileWriter ڪلاس ھڪڙي فائل کي اسٽرنگ لکڻ لاءِ :

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();
        }
    }
}
هن مثال ۾، اسان پهريون ڀيرو هڪ اسٽرنگ آبجیکٹ ٺاهيو جنهن ۾ ڊيٽا شامل آهي جنهن کي اسان فائل ۾ لکڻ چاهيون ٿا. ان کان پوء اسان فائل جي نالي سان هڪ FileWriter اعتراض ٺاهيندا آهيون جنهن کي اسين لکڻ چاهيون ٿا، هن صورت ۾، نالو output.txt . اڳيون، اسان فائل ۾ ڊيٽا اسٽرنگ کي لکڻ لاءِ FileWriter اعتراض جو write() طريقو استعمال ڪريون ٿا. اهو طريقو هڪ اسٽرنگ دليل وٺندو آهي جنهن ۾ لکڻ لاءِ ڊيٽا شامل آهي. آخرڪار، اسان فائل وسيلن کي ڇڏڻ لاءِ FileWriter اعتراض کي بند ڪريون ٿا ۽ ڪنسول تي ڪامياب پيغام پرنٽ ڪريو جيڪڏھن لکڻ جو عمل ڪامياب ٿئي ٿو يا غلطي پيغام جيڪڏھن ڪو استثنا پڪڙيو وڃي. FileWriter ڪلاس ھڪڙو سادو طريقو آھي ڪردار جي ڊيٽا کي جاوا ۾ ھڪڙي فائل ۾ لکڻ جو.

FileOutputStream ڪلاس

FileOutputStream ڪلاس استعمال ڪيو ويندو آهي ڊيٽا کي فائل ۾ لکڻ لاءِ بائيٽ جي اسٽريم جي طور تي . هتي هڪ مثال آهي:

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();
        }
    }
}
هن مثال ۾، اسان هڪ FileOutputStream شئي ٺاهيندا آهيون نالو اسٽريم سان "output.txt" فائل جو نالو لکڻ لاءِ. اسان پوءِ getBytes() ميٿڊ استعمال ڪندي textToWrite اسٽرنگ کي بائيٽ ايري ۾ تبديل ڪريون ٿا ۽ رائٽ() ميٿڊ استعمال ڪندي بائيٽ ايري کي اسٽريم آبجیکٹ ۾ لکون ٿا . آخرڪار، اسان وهڪرو اعتراض بند ڪريون ٿا.

بفرڊ رائٽر ڪلاس

BufferedWriter ڪلاس استعمال ڪيو ويندو آھي متن لکڻ لاءِ فائل ۾ بفرنگ صلاحيتن سان. هتي هڪ مثال آهي:

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();
        }
    }
}
هن مثال ۾، اسان هڪ BufferedWriter شئي ٺاهيندا آهيون ليکڪ نالي هڪ FileWriter اعتراض سان جيڪو لکي ٿو "output.txt" فائل. اسان پوءِ رائٽر اعتراض جو رائٽر () طريقو استعمال ڪريون ٿا ٽيڪسٽ ٽو رائٽ کي فائل ۾ لکڻ لاءِ . آخرڪار، اسان ليکڪ اعتراض کي بند ڪريون ٿا.

WriteString() طريقو

writeString () طريقو ھڪڙو آسان طريقو آھي جيڪو جاوا 11 ۾ متعارف ڪرايو ويو آھي ھڪڙي فائل کي اسٽرنگ لکڻ لاءِ فائل ڪلاس استعمال ڪندي. اهو توهان کي اجازت ڏئي ٿو ته هڪ اسٽرنگ کي هڪ فائل ۾ ڪوڊ جي هڪ قطار ۾. هتي هڪ مثال آهي:

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();
        }
    }
}
هن مثال ۾، اسان پهريون ڀيرو هڪ اسٽرنگ آبجیکٹ ٺاهيو جنهن ۾ ڊيٽا شامل آهي جنهن کي اسان فائل ۾ لکڻ چاهيون ٿا. ان کان پوء اسان هڪ Path اعتراض نالي فائل ٺاهيندا آهيون جيڪا انهي فائل جي نمائندگي ڪري ٿي جنهن کي اسين لکڻ چاهيون ٿا، هن صورت ۾، نالو "output.txt" آهي. اڳيون، اسان استعمال ڪريون ٿا Files.writeString() طريقو ڊيٽا اسٽرنگ کي فائل ۾ لکڻ لاءِ جيڪو فائل اعتراض جي نمائندگي ڪري ٿو. اهو طريقو ٻه دلائل وٺي ٿو: Path اعتراض جيڪو فائل کي لکڻ جي نمائندگي ڪري ٿو، ۽ String اعتراض جنهن ۾ لکڻ لاء ڊيٽا شامل آهي. آخرڪار، اسان ڪنسول تي ڪامياب پيغام پرنٽ ڪندا آهيون جيڪڏهن لکڻ جو عمل ڪامياب آهي يا هڪ غلطي پيغام جيڪڏهن هڪ استثنا پڪڙي وڃي. writeString () طريقو جاوا 11 يا بعد ۾ استعمال ڪندي فائل ۾ اسٽرنگ لکڻ جو هڪ آسان طريقو آهي .

پرنٽ رائٽر ڪلاس

PrintWriter ڪلاس خودڪار طريقي سان آئوٽ بفر کي فلش ڪري ٿو هر لائين لکڻ کان پوء، انهي کي يقيني بڻائي ته ڊيٽا فوري طور تي فائل ۾ لکيل آهي . اهو ان کي هڪ آسان انتخاب بڻائي ٿو متن جي ڊيٽا جي وڏي مقدار کي فائل ۾ لکڻ لاءِ. هتي هڪ مثال آهي:

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();
        }
    }
}
هن مثال ۾، اسان هڪ FileWrite اعتراض سان ليکڪ نالي هڪ PrintWriter اعتراض ٺاهيو جيڪو "output.txt" فائل ڏانهن لکندو آهي. اسان پوءِ رائٽر اعتراض جو println() طريقو استعمال ڪريون ٿا فائل ۾ textToWrite لکڻ لاءِ . آخرڪار، اسان ليکڪ اعتراض کي بند ڪريون ٿا.

ڊيٽا آئوٽ پٽ اسٽريم ڪلاس

DataOutputStream ڪلاس استعمال ڪيو ويندو آهي ابتدائي جاوا ڊيٽا جي قسمن کي لکڻ لاءِ بائٽس جي اسٽريم جي طور تي. هتي هڪ مثال آهي:

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();
        }
    }
}
هن مثال ۾، اسان هڪ DataOutputStream شئي ٺاهيندا آهيون نالو نالو stream ، جيڪو لکي ٿو "output.txt" فائل. اسان پوءِ استعمال ڪريون ٿا writeUTF() اسٽريم آبجیکٹ جو طريقو textToWrite اسٽرنگ کي لکڻ لاءِ ۽ writeInt() طريقو استعمال ڪريون ٿا نمبر ToWrite انٽيجر کي فائل ۾ لکڻ لاءِ . آخرڪار، اسان وهڪرو اعتراض بند ڪريون ٿا.

فائل چينل ڪلاس

FileChannel ڪلاس ميموري ميپ ٿيل I/O استعمال ڪندي فائل ۾ ڊيٽا لکڻ جو طريقو مهيا ڪري ٿو. هتي هڪ مثال آهي:

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();
        }
    }
}
هن مثال ۾، اسان پهريون ڀيرو هڪ فائيل آبجیکٹ نالي فائل ٺاهيو جنهن جي نالي سان فائيل نالي "output.txt" هڪ پيراميٽر جي طور تي. اسان پوءِ ٺاھيون ٿا RandomAccessFile آبجیکٹ نالي randomAccessFile فائل شئي سان ۽ "rw" موڊ کي پيٽرولر طور. اسان پوءِ ٺاھيون ٿا FileChannel اعتراض جو نالو channel , جيڪو randomAccessFile اعتراض استعمال ڪندي شروع ڪيو ويو آھي. ان کان پوء اسان 1024 بائيٽ جي گنجائش سان بفر نالي هڪ ByteBuffer اعتراض ٺاهيو ۽ ٽيڪسٽ ٽائيٽ اسٽرنگ کي پيراميٽر طور رکيو. اسان پوءِ بفر آبجیکٹ کي فلپ ڪريون ٿا ان کي لکڻ لاءِ تيار ڪرڻ ۽ ان کي چينل آبجیکٹ تي لکون ٿا write() طريقو استعمال ڪندي. آخرڪار، اسان بند ڪريون ٿا randomAccessFile اعتراض.

نتيجو

نتيجي ۾، جاوا استعمال ڪندي فائل تي لکڻ هڪ عام ڪم آهي سافٽ ويئر ڊولپمينٽ ۾ جيڪو ڪيترن ئي تعمير ٿيل طبقن ۽ طريقن کي استعمال ڪندي ڪري سگهجي ٿو. هن آرٽيڪل ۾، اسان ڪيترن ئي مثالن تي بحث ڪيو آهي ته ڪئين فائل ۾ ڪيئن لکجي، بشمول FileOutputStream ، BufferedWriter ، FileWriter ، PrintWriter ، DataOutputStream ، ۽ FileChannel ڪلاسز جو استعمال. اهو نوٽ ڪرڻ ضروري آهي ته جڏهن هڪ فائل تي لکڻ، صحيح غلطي کي سنڀالڻ ۽ لکڻ کان پوء فائل کي بند ڪرڻ ضروري آهي انهي کي يقيني بڻائڻ لاء ته فائل صحيح طور تي محفوظ ڪئي وئي آهي ۽ وسيلن کي صحيح طور تي جاري ڪيو ويو آهي. هن مضمون ۾ مهيا ڪيل مثالن سان، شروعات ڪندڙ هاڻي بنيادي ڄاڻ حاصل ڪري سگھن ٿا ته ڪيئن جاوا استعمال ڪندي فائل کي ڪيئن لکڻو آهي ۽ مختلف استعمال جي ڪيسن سان مشق ۽ تجربو شروع ڪري سگھن ٿا.
تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION