คลาส PrintWriter ใน Java คืออะไร
เหตุใดจึงต้องใช้ PrintWriter หากมี OutputStreams อื่น
วิธีปฏิบัติทั่วไปในการพิมพ์ข้อมูลบนคอนโซลคือการใช้เมธอดSystem.out.print อย่างไรก็ตาม จะง่ายกว่าในการปรับแต่งรูปแบบตามโลแคล ที่ระบุ (มาตรฐานระดับภูมิภาค) ในขณะที่เผยแพร่แอปพลิเคชันทั่วโลกโดยใช้ออบเจกต์PrintWriter เราสามารถพิจารณาการใช้ Locale ตามระบบของคุณได้ในภายหลังในโพสต์นี้วิธีการใช้คลาส PrintWriter?
สำหรับการใช้PrintWriterคุณต้องอิมพอร์ตคลาสjava.io.PrintWriter จากนั้นหลังจากเริ่มต้นวัตถุแล้ว คุณสามารถใช้มันสำหรับการเขียนบนคอนโซลหรือในไฟล์ตามความต้องการของคุณ ลองดูทั้งสองวิธีในการเริ่มต้น คลาส PrintWriterสำหรับคอนโซลและไฟล์ มีตัวสร้างที่แตกต่างกันหลายตัวในปัจจุบัน แต่ที่นี่เราจะแนะนำสิ่งที่ง่ายที่สุดให้คุณเอาต์พุตคอนโซลด้วย PrintWriter
ต่อไปนี้เป็น วัตถุ PrintWrtierเพื่อพิมพ์ข้อความบนคอนโซล
PrintWriter consoleOutput = new PrintWriter(System.out);
ที่นี่ วัตถุ System.outจะถูกส่งผ่านไปยังตัวสร้างเพื่อเขียนบนคอนโซล
เอาต์พุตไฟล์ด้วย PrintWriter
นี่คือ วัตถุ PrintWriterเพื่อเขียนข้อความในไฟล์
PrintWriter fileOutput = new PrintWriter("FileOutput.txt");
ตัวสร้างนี้ใช้ อินพุต สตริงเป็นชื่อไฟล์ สร้างไฟล์ชื่อที่ระบุและเขียนข้อมูลข้อความในนั้น
วิธีการของคลาส PrintWriter
คลาส Java PrintWriterมาพร้อมกับเมธอดที่มีประโยชน์มากมาย แค่เกณฑ์พวกเขามาก็ยากที่จะกลืนเข้าไปแล้ว มาดูกันทีละตัวอย่าง คืออะไรและเราจะนำไปใช้ได้อย่างไร ง่ายๆตัวอย่างที่ 1
ตัวอย่างนี้จะสาธิตการใช้ วัตถุ PrintWriterสำหรับการพิมพ์บนคอนโซล
import java.io.PrintWriter;
public class PrintWriterDemo {
public static void main(String[] args) throws Exception {
// by importing the java.io.PrintWriter class
PrintWriter consoleOutput = new PrintWriter(System.out);
consoleOutput.printf("Hey there! This is %S.\n", "Lubaina Khan");
consoleOutput.print("Today you're exploring the PrinWriter class with Code Gym. ");
consoleOutput.println("Hope you're having fun!");
consoleOutput.append("Patience is the key when learning new concepts.\n");
consoleOutput.append("It all boils down to practise and persistence. :)");
consoleOutput.flush();
consoleOutput.close();
}
}
เอาต์พุต
สวัสดี! นี่คือลูไบนา ข่าน วันนี้คุณกำลังสำรวจคลาส PrinWriter กับ Code Gym หวังว่าคุณจะสนุก! ความอดทนเป็นกุญแจสำคัญในการเรียนรู้แนวคิดใหม่ ทุกอย่างขึ้นอยู่กับการฝึกฝนและความพากเพียร :)
เมธอดที่ใช้ของคลาส PrintWriter
printf(String str, Object arguments);
เมธอด printf ()ใช้รูปแบบสำหรับสตริงที่จะพิมพ์ ที่นี่ ตัวยึดตำแหน่ง%Sจะถูกแทนที่ด้วยอาร์กิวเมนต์ตัวพิมพ์ใหญ่ที่ส่งผ่านถัดจากสตริง
print(String str);
วิธีนี้จะพิมพ์สตริงที่ส่งไปโดยใช้วัตถุ PrintWriter
println(String str);
มีการพิมพ์ตัวแบ่งบรรทัดหลังเนื้อหาสตริง
append(CharSequence cs);
ลำดับอักขระที่ส่งผ่านไปยังภาคผนวกจะถูกเพิ่มไปยังวัตถุ PrintWrtier
flush();
ล้างเนื้อหาของวัตถุ PrintWriter
close();
ปิดสตรีมการเขียนและทำให้ทรัพยากรที่จัดสรรว่าง
ตัวอย่างที่ 2
ตัวอย่างนี้จะแสดงการใช้ คลาส PrintWriterในการเขียนข้อมูลลงในไฟล์
import java.io.PrintWriter;
import java.util.Date;
import java.util.Locale;
public class PrintWriterDemo {
public static void main(String[] args) throws Exception {
try {
// by importing the java.io.PrintWriter class
PrintWriter fileOutput = new PrintWriter("FileOutput.txt");
fileOutput.printf(Locale.getDefault(), "Hi, What's the day today? %s.\n", new Date());
fileOutput.print("Here's an implementation of PrinWriter class for file writing.\n");
fileOutput.println("Hope Code Gym made it simpler for you to understand.");
fileOutput.append("One step at a time, and off you go!", 0, 35);
fileOutput.flush();
fileOutput.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
เอาต์พุต
สวัสดี วันนี้วันอะไร อา. 25 ก.ค. 17:30:21 น. PKT 2021 นี่คือการใช้งานคลาส PrinWriter สำหรับการเขียนไฟล์ Hope Code Gym ช่วยให้คุณเข้าใจได้ง่ายขึ้น ทีละขั้นตอนแล้วออกไปเลย!
เมธอดที่ใช้ของคลาส PrintWriter
เรามาพูดถึงวิธีการที่ใช้สำหรับการเขียนไฟล์ที่แตกต่างจากการเขียนบนคอนโซล
printf(Locale locale, String str, Object args);
ที่นี่คุณสามารถส่งโลแคล (เราใช้ค่าเริ่มต้นของระบบเพื่อการเชื่อมโยงกัน) คุณสามารถใช้อะไรก็ได้ตามความต้องการของคุณ สิ่งนี้สอดคล้องกับการจัดรูปแบบตามภูมิภาค ส่วนที่เหลือของการใช้งานจะเหมือนกับที่เคยเป็นมา
append(CharSequence cs, int beginningIndex, int endingIndex);
คุณสามารถเพิ่มกลุ่มของCharSequence ที่ผ่านไปได้ โดยการระบุดัชนีเริ่มต้นและสิ้นสุดของมัน ที่นี่เราใช้ดัชนีล่าสุด คุณสามารถเล่นกับมันเพื่อดูผลลัพธ์ที่แตกต่างกัน
try{
...
} catch (Exception e){
...
}
จำเป็นต้องใช้บล็อก try-catch ในการเขียนไฟล์ เป็นการหลีกเลี่ยงข้อยกเว้นใด ๆ ในขณะที่เข้าถึง (เช่น ปัญหาเกี่ยวกับสิทธิ์) หรือสร้างไฟล์ในระบบ
GO TO FULL VERSION