สมัครเรียนโทร. 085-350-7540 , 084-88-00-255 , ntprintf@gmail.com

File

การอ่านไฟล์ในภาษา Java - อ่านไฟล์ทีละบรรทัดด้วย BufferedReader การอ่านไฟล์ในภาษา Java - อ่านไฟล์ทั้งหมดเป็น String ด้วย FileReader และ StringBuilder การอ่านไฟล์ในภาษา Java - อ่านไฟล์ด้วย Scanner การอ่านไฟล์ในภาษา Java - อ่านไฟล์ทั้งหมดเป็น List ของ Strings ด้วย Files.readAllLines() การอ่านไฟล์ในภาษา Java - อ่านไฟล์ทั้งหมดเป็น String ด้วย Files.readString() (Java 11+) การอ่านไฟล์ในภาษา Java - ใช้ Files.lines() เพื่ออ่านไฟล์ทีละบรรทัดเป็น Stream การอ่านไฟล์ในภาษา Java - อ่านไฟล์ทีละตัวอักษรด้วย FileReader การอ่านไฟล์ในภาษา Java - ใช้ BufferedReader เพื่ออ่านบรรทัดแรกของไฟล์ การอ่านไฟล์ในภาษา Java - อ่านไฟล์ด้วย InputStreamReader และ FileInputStream การอ่านไฟล์ในภาษา Java - อ่านไฟล์ขนาดใหญ่ด้วย RandomAccessFile การเขียนไฟล์ในภาษา Java - เขียนข้อความลงไฟล์ด้วย BufferedWriter การเขียนไฟล์ในภาษา Java - เขียนข้อความพร้อมขึ้นบรรทัดใหม่ด้วย BufferedWriter.newLine() การเขียนไฟล์ในภาษา Java - เขียนไฟล์ด้วย PrintWriter การเขียนไฟล์ในภาษา Java - เขียนข้อความทีละตัวอักษรด้วย FileWriter การเขียนไฟล์ในภาษา Java - เขียนข้อความต่อท้ายไฟล์ด้วย FileWriter (Append mode) การเขียนไฟล์ในภาษา Java - เขียนข้อความหลายบรรทัดลงไฟล์ด้วย Files.write() การเขียนไฟล์ในภาษา Java - ใช้ PrintWriter เพื่อเขียนไฟล์ด้วยการจัดรูปแบบ การเขียนไฟล์ในภาษา Java - เขียนไฟล์ขนาดใหญ่ด้วย RandomAccessFile การเขียนไฟล์ในภาษา Java - เขียนข้อมูลแบบไบต์ลงไฟล์ด้วย FileOutputStream การเขียนไฟล์ในภาษา Java - เขียนไฟล์แบบบัฟเฟอร์ด้วย BufferedOutputStream การทำงานกับไฟล์ในภาษา Java - ตรวจสอบว่าไฟล์มีอยู่หรือไม่ การทำงานกับไฟล์ในภาษา Java - ลบไฟล์ การทำงานกับไฟล์ในภาษา Java - เปลี่ยนชื่อหรือย้ายไฟล์ การทำงานกับไฟล์ในภาษา Java - คัดลอกไฟล์ การทำงานกับไฟล์ในภาษา Java - ตรวจสอบขนาดของไฟล์ การทำงานกับไฟล์ในภาษา Java - ตรวจสอบการอนุญาตของไฟล์ การทำงานกับไฟล์ในภาษา Java - อ่าน Metadata ของไฟล์ การทำงานกับไฟล์ในภาษา Java - สร้างไฟล์ใหม่ถ้ายังไม่มี การทำงานกับไฟล์ในภาษา Java - สร้าง Directory ใหม่ การทำงานกับไฟล์ในภาษา Java - ลบ Directory ที่ว่างเปล่า การทำงานกับไฟล์และระบบ I/O ด้วย Node.js - การอ่านไฟล์ด้วย fs.readFile() การทำงานกับไฟล์และระบบ I/O ด้วย Node.js - การเขียนไฟล์ด้วย fs.writeFile() การทำงานกับไฟล์และระบบ I/O ด้วย Node.js - การลบไฟล์ด้วย fs.unlink() การทำงานกับไฟล์และระบบ I/O ด้วย Node.js - การสร้างและลบโฟลเดอร์ด้วย fs.mkdir() และ fs.rmdir() การทำงานกับไฟล์และระบบ I/O ด้วย Node.js - การใช้ fs.readdir() เพื่ออ่านเนื้อหาโฟลเดอร์ การทำงานกับไฟล์และระบบ I/O ด้วย Node.js - การใช้ Streams ใน Node.js การทำงานกับไฟล์และระบบ I/O ด้วย Node.js - การใช้ Readable และ Writable Streams การทำงานกับไฟล์และระบบ I/O ด้วย Node.js - การทำงานกับ Pipes การทำงานกับไฟล์และระบบ I/O ด้วย Node.js - การใช้ Buffer ใน Node.js การทำงานกับไฟล์และระบบ I/O ด้วย Node.js - การทำงานกับ File System แบบ Synchronous Git การทำงานกับไฟล์ - ตรวจสอบความแตกต่างของไฟล์ (Diff) Git การทำงานกับไฟล์ - ดู Diff ระหว่างสอง Branch Git การทำงานกับไฟล์ - ดู Diff ระหว่าง Commit Git การทำงานกับไฟล์ - เปรียบเทียบความแตกต่างระหว่าง Staged กับ Working Directory Git การทำงานกับไฟล์ - ย้อนกลับการเปลี่ยนแปลงในไฟล์ Git การทำงานกับไฟล์ - ย้อนกลับไฟล์ใน Staging Area Git การทำงานกับไฟล์ - ลบไฟล์ออกจาก Git และระบบไฟล์ Git การทำงานกับไฟล์ - ลบไฟล์จาก Git แต่เก็บไว้ในระบบไฟล์ Git การทำงานกับไฟล์ - เปลี่ยนชื่อไฟล์ใน Git Git การทำงานกับไฟล์ - ดูรายละเอียดการเปลี่ยนแปลงของไฟล์ Golang การจัดการไฟล์และการทำงานกับระบบ - การอ่านไฟล์ใน Go Golang การจัดการไฟล์และการทำงานกับระบบ - การเขียนไฟล์ใน Go Golang การจัดการไฟล์และการทำงานกับระบบ - การใช้ os.File ในการทำงานกับไฟล์ Golang การจัดการไฟล์และการทำงานกับระบบ - การสร้างและลบไฟล์ Golang การจัดการไฟล์และการทำงานกับระบบ - การตรวจสอบว่ามีไฟล์หรือไม่ Golang การจัดการไฟล์และการทำงานกับระบบ - การอ่านและเขียน JSON ใน Go Golang การจัดการไฟล์และการทำงานกับระบบ - การใช้ encoding/json สำหรับ JSON Marshalling และ Unmarshalling Golang การจัดการไฟล์และการทำงานกับระบบ - การทำงานกับ XML Golang การจัดการไฟล์และการทำงานกับระบบ - การทำงานกับ YAML Golang การจัดการไฟล์และการทำงานกับระบบ - การจัดการ Environment Variables Golang การจัดการไฟล์และการทำงานกับระบบ - การสร้างและจัดการ Process ใน Go

การอ่านไฟล์ในภาษา Java - อ่านไฟล์ด้วย Scanner

 

การอ่านไฟล์เป็นหนึ่งในกระบวนการพื้นฐานที่สำคัญในโปรแกรมมิ่ง ไม่ว่าคุณจะกำลังพัฒนาแอปพลิเคชันหรือสร้างสคริปต์ที่ต้องการดึงข้อมูลจากไฟล์ การเข้าใจวิธีการอ่านไฟล์และดึงข้อมูลออกมาใช้งานได้อย่างมีประสิทธิภาพนั้นเป็นทักษะที่จำเป็น ในภาษา Java หนึ่งในวิธีที่ง่ายและใช้กันอย่างแพร่หลายในการอ่านข้อมูลจากไฟล์คือการใช้คลาส `Scanner` คลาสนี้อยู่ในแพ็คเกจ `java.util` และไม่ได้ถูกสร้างขึ้นมาเพียงเพื่ออ่านไฟล์เท่านั้น แต่ยังสามารถใช้เพื่ออ่านข้อมูลจากอินพุตอื่นๆ ได้อีกด้วย

 

พื้นฐานของ Scanner

คลาส `Scanner` นั้นมีประโยชน์และมีการใช้งานที่ค่อนข้างง่าย สามารถอ่านได้ทั้งประเภทข้อมูลแบบลำดับ ตัวเลข และแม้กระทั่งสตริงที่มีลำดับสัญลักษณ์ต่างๆ โดยทั่วไปแล้ว คุณสามารถใช้ `Scanner` ได้อย่างรวดเร็วเพื่อแยกส่วนของข้อความ (token) ออกเป็นส่วนๆ สำหรับการแยกหรือตรวจสอบข้อมูลภายในโปรแกรม

 

เริ่มต้นการอ่านไฟล์ด้วย Scanner

ก่อนการใช้งาน คุณต้องตรวจสอบให้แน่ใจว่าได้ทำการนำเข้าแพ็คเกจที่จำเป็นเสียก่อน ตัวอย่างโค้ดด้านล่างนี้เป็นตัวอย่างการอ่านข้อมูลจากไฟล์โดยใช้ Scanner:


import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class ReadFileWithScanner {
    public static void main(String[] args) {
        try {
            File file = new File("ข้อมูล.txt");
            Scanner scanner = new Scanner(file);

            while (scanner.hasNextLine()) {
                String data = scanner.nextLine();
                System.out.println(data);
            }

            scanner.close();
        } catch (FileNotFoundException e) {
            System.out.println("เกิดข้อผิดพลาด: ไม่พบไฟล์ที่ระบุ");
            e.printStackTrace();
        }
    }
}

 

การอธิบายโค้ด

1. การนำเข้าแพ็คเกจ: เริ่มต้นด้วยการนำเข้าแพ็คเกจ `java.io.File` และ `java.util.Scanner` ซึ่งจำเป็นต้องใช้ในการทำงานกับไฟล์และอ่านข้อมูลตามลำดับ

2. การสร้างอ็อบเจกต์ File: อ็อบเจกต์ `File` ถูกสร้างขึ้นโดยอ้างอิงถึงไฟล์ที่เราต้องการอ่าน (`ข้อมูล.txt`)

3. การสร้างอ็อบเจกต์ Scanner: ใช้อ็อบเจกต์ `Scanner` เพื่ออ่านไฟล์ การจับคู่ Scanner กับไฟล์นั้นจะทำให้เราสามารถดึงข้อมูลออกมาได้ง่ายดาย

4. อ่านข้อมูลบรรทัดต่อบรรทัด: โดยใช้ลูป `while` กับเมธอด `hasNextLine()` เพื่อวนลูปผ่านแต่ละบรรทัดของไฟล์ ข้อมูลแต่ละบรรทัดนั้นจะถูกเก็บไว้ในตัวแปร `data`

5. ปิด Scanner: การปิด `Scanner` นั้นเป็นสิ่งสำคัญเพราะจะช่วยในการจัดการทรัพยากรด้วยการปิดอ็อบเจกต์เมื่อไม่จำเป็นต้องใช้งานแล้ว

6. การจัดการข้อผิดพลาด: การจัดการข้อผิดพลาดนั้นเกิดจากการที่ไฟล์อาจไม่สามารถพบได้ (FileNotFoundException) ซึ่งสามารถใช้คลาสนี้ในการจัดการข้อผิดพลาดเพื่อหลีกเลี่ยงโปรแกรมล้มเหลว

 

ข้อดีของการใช้ Scanner

- ความเรียบง่ายในการใช้งาน: Scanner นั้นมีวิธีการใช้งานที่ตรงไปตรงมา เหมาะสำหรับโปรแกรมเมอร์ทุกระดับ - การรองรับหลายประเภทข้อมูล: Scanner สามารถจัดการกับข้อมูลได้หลายรูปแบบ ทั้งตัวเลขและสตริง - ไม่มีการบัฟเฟอร์มากเกินไป: ซึ่งช่วยลดความซับซ้อนในการจัดการหน่วยความจำ

 

กรณีศึกษา

ลองนึกภาพว่าคุณต้องสร้างแอปพลิเคชันที่อ่านข้อมูลผู้นิยมหนังสือจากไฟล์เท็กซ์ ข้อมูลนี้อาจประกอบไปด้วยชื่อผู้ใช้และคะแนนรีวิวนิยาย เทคโนโลยี `Scanner` เหมาะกับกรณีนี้ เพราะช่วยให้สามารถดึงข้อมูลและประมวลผลเป็นบรรทัด หรือแม้กระทั่งเป็นส่วนๆ ของข้อมูลได้


import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class BookReviewReader {
    public static void main(String[] args) {
        try {
            File file = new File("reviews.txt");
            Scanner scanner = new Scanner(file);

            while (scanner.hasNextLine()) {
                String[] reviewData = scanner.nextLine().split(",");
                String username = reviewData[0].trim();
                int rating = Integer.parseInt(reviewData[1].trim());

                System.out.printf("ผู้ใช้: %s ได้ให้คะแนนรีวิว: %d\n", username, rating);
            }

            scanner.close();
        } catch (FileNotFoundException e) {
            System.out.println("เกิดข้อผิดพลาด: ไม่พบไฟล์รีวิว");
            e.printStackTrace();
        }
    }
}

ในบทความนี้ เราได้สำรวจถึงวิธีการใช้งาน `Scanner` ในการอ่านไฟล์ในภาษา Java พร้อมกับตัวอย่างการใช้งานจริง ที่ง่ายและตรงไปตรงมา การอ่านไฟล์ด้วย `Scanner` นั้นไม่เพียงแค่เป็นขั้นตอนสำคัญในวงการโปรแกรมมิ่ง แต่ยังเป็นทักษะที่สามารถพัฒนาต่อยอดได้เช่นกัน

หากคุณต้องการพัฒนาทักษะเพิ่มเติมเกี่ยวกับการโปรแกรมและขยายขอบเขตความสามารถของคุณด้วยความรู้ทางเทคโนโลยีที่ทันสมัย สามารถลองสำรวจและพิจารณาศึกษาหลักสูตรเรียนโปรแกรมมิ่งที่ EPT! สถาบันของเรายินดีต้อนรับและพร้อมที่จะเป็นส่วนหนึ่งในการเดินทางการศึกษาทางโปรแกรมมิ่งของคุณ

 

 

หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง

หากเจอข้อผิดพลาด หรือต้องการพูดคุย ติดต่อได้ที่ https://m.me/expert.Programming.Tutor/


Tag ที่น่าสนใจ: java c# vb.net python c c++ machine_learning web database oop cloud aws ios android


บทความนี้อาจจะมีที่ผิด กรุณาตรวจสอบก่อนใช้

หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor

ไม่อยากอ่าน Tutorial อยากมาเรียนเลยทำอย่างไร?

สมัครเรียน ONLINE ได้ทันทีที่ https://elearn.expert-programming-tutor.com

หรือติดต่อ

085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM

แผนที่ ที่ตั้งของอาคารของเรา

แผนผังการเรียนเขียนโปรแกรม

Link อื่นๆ

Allow sites to save and read cookie data.
Cookies are small pieces of data created by sites you visit. They make your online experience easier by saving browsing information. We use cookies to improve your experience on our website. By browsing this website, you agree to our use of cookies.

Copyright (c) 2013 expert-programming-tutor.com. All rights reserved. | 085-350-7540 | 084-88-00-255 | ntprintf@gmail.com

ติดต่อเราได้ที่

085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM
แผนที่ ที่ตั้งของอาคารของเรา