Java Files.readString: อ่านทั้งไฟล์เป็น String พร้อม Charset ชัด ๆ
น้องกายEngineering
ไฟล์คอนฟิกสั้น ๆ — Files.readString(path, charset) อ่านทั้งก้อนเป็น String ได้ในบรรทัดเดียว (Java 11+)
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
public class Main {
public static void main(String[] args) throws Exception {
Path p = Files.createTempFile("showkhun-", ".txt");
Files.writeString(p, "สวัสดี", StandardCharsets.UTF_8);
String s = Files.readString(p, StandardCharsets.UTF_8);
assert s.equals("สวัสดี") : s;
Files.deleteIfExists(p);
System.out.println("files readString tests passed");
}
}
อย่าใช้กับไฟล์กิกะไบต์ — โหลดทั้งก้อนเข้าฮีป ถ้าใหญ่ให้สตรีมทีละบรรทัด
Recap
- ส่ง
StandardCharsets.UTF_8เสมอ อย่าพึ่ง default charset ของ OS - คู่กับ
writeStringตอนเทสต์ - อ่าน Files API