มีหลายสถานการณ์ที่คุณต้องการทำงานกับไฟล์ใน Java ตัวอย่างเช่น คุณอาจต้องการสร้างไฟล์เพื่อจัดเก็บผลลัพธ์ของโปรแกรม หรือบางทีคุณอาจตัดสินใจว่าคุณต้องการอ่านข้อมูลจากไฟล์ที่โปรแกรมประมวลผลแล้ว
นั่นคือที่มาของไลบรารี java.io ไลบรารี java.io มีวิธีการมากมายที่ใช้ในการทำงานกับไฟล์ใน Java
บทช่วยสอนนี้จะกล่าวถึงวิธีการใช้คลาส Java File, FileReader และ FileWriter และเมธอดหลัก บทช่วยสอนนี้จะอ้างอิงถึงตัวอย่างของแต่ละวิธีในการใช้งาน เพื่อสาธิตวิธีใช้งานในโค้ดของคุณ
ไฟล์ Java
ไฟล์คือรายการในคอมพิวเตอร์ที่เก็บข้อมูลส่วนใดส่วนหนึ่ง ตัวอย่างเช่น ไฟล์สามารถจัดเก็บรายชื่อนักเรียนในชั้นเรียนคณิตศาสตร์ หรือรายการส่วนผสมที่ใช้ในการอบเค้กกาแฟ ในทางกลับกัน ไดเร็กทอรีคือโฟลเดอร์ที่เก็บคอลเลกชั่นของไฟล์และไดเร็กทอรีอื่นๆ
ไลบรารี java.io มีแพ็คเกจจำนวนหนึ่งที่สามารถใช้เพื่อทำงานกับไฟล์และไดเร็กทอรีใน Java สำหรับบทช่วยสอนนี้ เราจะเน้นที่แพ็คเกจ Java File, FileReader และ FileWriter
เนื่องจากวิธีการที่นำเสนอโดยแพ็คเกจเหล่านี้เป็นส่วนหนึ่งของแพ็คเกจภายนอก เราต้องนำเข้าแพ็คเกจเหล่านี้ก่อนจึงจะสามารถใช้แพ็คเกจเหล่านี้ในโค้ดของเราได้
นี่คือรหัสที่เราสามารถใช้นำเข้าคลาส File, FileReader และ FileWriter เข้าสู่โปรแกรมของเรา:
import java.io.File;
81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้
ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก
import java.io.FileReader;
import java.io.FileWriter;
ตอนนี้เรารู้วิธีนำเข้าคลาสไฟล์ Java ที่เราจะใช้งานในบทช่วยสอนนี้แล้ว เราก็พร้อมที่จะดำเนินการต่อ
สร้างไฟล์ Java
คลาส Java File ใช้เพื่อสร้างไฟล์ว่างใน Java
ก่อนที่เราจะสามารถสร้างไฟล์ได้ เราต้องสร้างวัตถุไฟล์เสียก่อน วัตถุไฟล์เป็นตัวแทนของไฟล์หรือโฟลเดอร์เฉพาะในรหัสของเรา ที่กล่าวว่า file object ไม่ได้สร้างไฟล์ในตัวเอง ขั้นแรกเราต้องสร้างไฟล์ออบเจกต์ จากนั้นเราจึงสามารถใช้เพื่อสร้างไฟล์ได้
นี่คือไวยากรณ์ที่เราสามารถใช้เพื่อสร้างวัตถุไฟล์ใน Java:
File fileName = newFile(String filePath);
ในตัวอย่างนี้ เราได้สร้างอ็อบเจ็กต์ระบบไฟล์ชื่อ fileName
. file object นี้เกี่ยวข้องกับไฟล์หรือโฟลเดอร์ที่เก็บไว้ที่เส้นทางของไฟล์ที่เราระบุไว้ใน filePath
ตัวแปร.
ในการสร้างไฟล์ใน Java เราสามารถใช้ createNewFile()
กระบวนการ. createNewFile()
สร้างไฟล์ใหม่ที่เส้นทางไฟล์ที่คุณระบุ เมธอดจะคืนค่า จริง หากไฟล์ใหม่ถูกสร้างขึ้น และเป็นเท็จ หากมีไฟล์อยู่ในตำแหน่งที่คุณระบุอยู่แล้ว
สมมติว่าเรากำลังสร้างโปรแกรมวิเคราะห์ข้อมูลที่วิเคราะห์ประสิทธิภาพหุ้นในอดีตสำหรับ S&P 500 ในปี 2019 ก่อนที่เราจะวิเคราะห์ข้อมูลของเรา เราต้องการสร้างไฟล์ใหม่ที่จะเก็บข้อมูลเชิงลึกที่โปรแกรมของเราสร้างขึ้น เราสามารถใช้รหัสนี้เพื่อสร้างไฟล์ที่จะเก็บผลการวิเคราะห์ของเรา:
import java.io.File; class CreateFile { public static void main(String[] args) { File resultsFile = new File("/home/data_analysis/2019sandp500/result.txt"); boolean fileCreated = resultsFile.createNewFile(); if (fileCreated) { System.out.println("The results file has been created."); } else { System.out.println("The results file already exists."); } } }
เมื่อเรารันโค้ดของเรา ไฟล์ที่พาธ /home/data_analysis/2019sandp500/result.txt
ถูกสร้างขึ้น จากนั้น การตอบสนองต่อไปนี้จะส่งคืนไปยังคอนโซล:
The results file has been created.
อย่างไรก็ตาม หากไฟล์ที่เราพยายามสร้างมีอยู่แล้ว ข้อความนี้จะถูกส่งกลับไปยังคอนโซล:
The results file already exists.
มาทำลายรหัสของเรากัน ขั้นแรก เรานำเข้า java.io.File
วิธีการซึ่งรวมถึงวิธีการของไฟล์ที่เราจะใช้ในรหัสของเรา จากนั้นเราสร้างคลาสชื่อ CreateFile
ซึ่งเก็บรหัสสำหรับโปรแกรมของเรา
ในบรรทัดแรกของโปรแกรมหลัก เราสร้างวัตถุไฟล์ชื่อ resultsFile
ซึ่งแสดงถึงไฟล์ที่พาธไฟล์ /home/data_analysis/2019sandp500/result.txt
. จากนั้นเราก็ใช้ createNewFile()
วิธีการสร้างไฟล์ใหม่ที่เส้นทางไฟล์ที่เราระบุ ผลลัพธ์บูลีนของ createNewFile()
วิธีการถูกเก็บไว้ในไฟล์ตัวแปรสร้าง
ในบรรทัดถัดไป เราสร้าง if
คำแถลง. หาก fileCreated เท่ากับ true ข้อความ The results file has been created
. จะถูกพิมพ์ไปที่คอนโซล มิฉะนั้น ข้อความ The results file already exists
. จะถูกพิมพ์ไปที่คอนโซล ในกรณีนี้ ไฟล์ผลลัพธ์ไม่มีอยู่ ดังนั้นโค้ดของเราจึงสร้างไฟล์ใหม่และพิมพ์ The results file has been created.
ไปที่คอนโซล
อ่านไฟล์ Java
read()
เมธอดในคลาส Java FileReader ใช้เพื่ออ่านเนื้อหาของไฟล์ Java
สมมติว่าเรามีไฟล์ชื่อ /home/data_analysis/2019sandp500/raw_message.txt.
ที่เราต้องการเข้าถึงในรหัสของเรา ไฟล์นี้มีข้อความต่อไปนี้:
JAVA S&P 500 ANALYSIS PROGRAM
เราสามารถอ่านไฟล์นี้โดยใช้รหัสต่อไปนี้:
import java.io.FileReader; class Main { public static void main(String[] args) { char[] array = new char[100]; try { FileReader fileContents = new FileReader("/home/data_analysis/2019sandp500/raw_message.txt"); fileContents.read(array); System.out.println(array); fileContents.close(); } catch(Exception error) { error.getStackTrace(); } } }
รหัสของเราส่งคืน:
โปรแกรมวิเคราะห์ JAVA S&P 500
ในโปรแกรมของเรา เราใช้คลาส FileReader เพื่อสร้างวัตถุไฟล์ที่แสดงเนื้อหาของไฟล์ที่จัดเก็บอยู่ที่ /home/data_analysis/2019sandp500/raw_message.txt.
จากนั้น เราใช้ read()
วิธีการอ่านเนื้อหาของไฟล์ลงในอาร์เรย์ สุดท้าย เราพิมพ์เนื้อหาของอาร์เรย์ไปยังคอนโซลและใช้ close() method
เพื่อปิดไฟล์ของเรา
เขียนไปยังไฟล์ Java
write()
วิธีการจาก FileWriter
package ใช้สำหรับเขียนไฟล์ใน Java
สมมติว่าเราต้องการเขียนวันที่ของวันนี้ไว้ที่ด้านบนของไฟล์ผลลัพธ์ที่เก็บผลลัพธ์ของโปรแกรมวิเคราะห์ข้อมูลของเรา ไฟล์นี้ถูกเก็บไว้ที่เส้นทางไฟล์ /home/data_analysis/2019sandp500/results.txt
. เราสามารถทำได้โดยใช้รหัสนี้:
import java.io.FileWriter; class Main { public static void main(String args[]) { String date = "Thursday, March 12th"; try { FileWriter writeToFile = new FileWriter("/home/data_analysis/2019sandp500/results.txt"); writeToFile.write(date); writeToFile.close(); System.out.println("The date has been written to the file."); } catch (Exception error) { error.getStackTrace(); } }
รหัสของเราเขียนว่า Thursday, March 12th
ไปที่ไฟล์ /home/data_analysis/2019sandp500/results.txt
และพิมพ์สิ่งต่อไปนี้ไปยังคอนโซล:
The date has been written to the file.
นี่คือเนื้อหาของไฟล์ results.txt ที่เราเขียนไว้ในโปรแกรมของเรา:
Thursday, March 12th
ในตัวอย่างข้างต้น เราใช้ FileWriter
วิธีเขียนประโยคลงในไฟล์ในภาษาจาวา ขั้นแรก เราประกาศตัวแปรชื่อ writeToFile()
ซึ่งสร้างการแสดงไฟล์ที่เก็บอยู่ที่พาธไฟล์ /home/data_analysis/2019sandp500/results.txt
. write()
เมธอดใช้สำหรับเขียนสตริงลงในไฟล์ จากนั้นเราใช้เมธอด close() method
เพื่อปิดไฟล์.
ลบไฟล์ใน Java
แพ็คเกจ Java File เสนอวิธีการที่ใช้ในการลบไฟล์หรือไดเร็กทอรี—delete().
delete()
คืนค่า true หากไฟล์ที่ระบุถูกลบ และเป็น false หากไฟล์นั้นไม่มีอยู่ นอกจากนี้ delete()
วิธีสามารถลบไดเร็กทอรีที่ไม่มีเนื้อหาเท่านั้น
สมมติว่าเราต้องการลบ results.txt
file ที่จุดเริ่มต้นของโปรแกรมของเรา เพื่อให้เราสามารถเขียนข้อมูลใหม่ไปยังไฟล์ในโปรแกรมของเราในภายหลัง เราสามารถทำได้โดยใช้รหัสนี้:
import java.io.File; class Main { public static void main(String[] args) { File results = newFile("/home/data_analysis/2019sandp500/results.txt"); boolean deleteFile = results.delete(); if (deleteFile) { System.out.println("results.txt has been deleted."); } else { System.out.println("results.txt has not been deleted."); } } }
รหัสของเราจะลบเนื้อหาของไฟล์ results.txt และพิมพ์ข้อมูลต่อไปนี้ไปยังคอนโซล:
results.txt has been deleted.
ในตัวอย่างนี้ เราได้สร้างออบเจ็กต์ของไฟล์ที่เรียกว่า results ซึ่งแสดงถึงเนื้อหาของไฟล์ results.txt จากนั้น เราก็ใช้ delete()
วิธีการลบเนื้อหาของไฟล์
หากไฟล์ results.txt ถูกลบสำเร็จ เช่นเดียวกับในตัวอย่างด้านบน ข้อความ results.txt has been deleted
. ถูกพิมพ์ไปที่คอนโซล มิฉะนั้น results.txt has not been deleted
. ถูกพิมพ์ไปที่คอนโซล
บทสรุป
แพ็คเกจ Java File ใช้สำหรับสร้างและลบไฟล์ แพ็คเกจ FileReader ใช้เพื่ออ่านเนื้อหาของไฟล์ และแพ็คเกจ FileWriter ใช้เพื่อเขียนไปยังไฟล์
บทช่วยสอนนี้กล่าวถึงโดยอ้างอิงถึงตัวอย่าง วิธีใช้แพ็คเกจ File, FileReader และ FileWriter Java เพื่อทำงานกับไฟล์ในโค้ดของคุณ ตอนนี้คุณพร้อมที่จะเริ่มทำงานกับไฟล์ใน Java อย่างโปรแกรมเมอร์มืออาชีพแล้ว!