Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

วิธีใช้คลาสไฟล์ Java

มีหลายสถานการณ์ที่คุณต้องการทำงานกับไฟล์ใน 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 อย่างโปรแกรมเมอร์มืออาชีพแล้ว!