Cách thanh lịch nhất để đặt mỗi dòng văn bản (từ tệp văn bản) vào LinkedList (như đối tượng String) hoặc một số bộ sưu tập khác là sử dụng thư viện Commons hoặc Guava.Tập tin văn bản vào Danh sách Java <String> sử dụng Commons hoặc Guava
Trả lời
Dưới đây là cách thực hiện nó với Guava:
List<String> lines = Files.readLines(new File("myfile.txt"), Charsets.UTF_8);
tham khảo:
Sử dụng Apache Commons IO, bạn có thể sử dụng phương pháp FileUtils#readLines
. Nó cũng đơn giản như:
List<String> lines = FileUtils.readLines(new File("..."));
for (String line : lines) {
System.out.println(line);
}
Đây có lẽ là những gì bạn đang tìm kiếm
sử dụng org.apache.commons.io.FileUtils
FileUtils.readLines(new File("file.txt"));
Bạn có thể sử dụng ổi:
Files.readLines(new File("myfile.txt"), Charsets.UTF_8);
Hoặc apache commons io:
FileUtils.readLines(new File("myfile.txt"));
tôi muốn nói cả hai đều bình đẳng thanh lịch.
Tùy thuộc vào việc sử dụng chính xác của bạn, giả sử "mã hóa mặc định" có thể là một ý hay hay không. Dù bằng cách nào, cá nhân tôi thấy nó tốt rằng các API Guava làm cho nó rõ ràng rằng bạn đang làm cho một giả định về mã hóa của tập tin.
Cập nhật: Java 7 hiện đã được tích hợp sẵn: Files.readAllLines(Path path, Charset cs). Và ở đó bạn phải xác định rõ ràng bộ ký tự.
Họ là khá tương tự, với Commons IO nó sẽ giống như thế này:
List<String> lines = FileUtils.readLines(new File("file.txt"), "UTF-8");
lợi thế chính của Ổi là đặc điểm kỹ thuật của charset (không lỗi chính tả):
List<String> lines = Files.readLines(new File("file.txt"), Charsets.UTF_8);
Tôi không chắc chắn nếu bạn chỉ muốn biết làm thế nào để làm điều này thông qua Guava hoặc Commons IO, nhưng kể từ Java 7 này có thể được thực hiện thông qua java.nio.file.Files.readAllLines(Path path, Charset cs)
(javadoc).
List<String> allLines = Files.readAllLines(dir.toPath(), StandardCharsets.UTF_8);
Vì đây là một phần của Java SE nên không yêu cầu bạn thêm bất kỳ tệp jar bổ sung nào (Dự kiến hoặc Commons) vào dự án của bạn.
- 1. R: In danh sách vào một tập tin văn bản
- 2. Lưu danh sách vào tập tin txt
- 3. Viết int vào tập tin văn bản sử dụng Writer
- 4. Đọc một tập tin văn bản với số lượng biến của cột vào một danh sách
- 5. Viết danh sách vào một tập tin văn bản, giữ tên, R
- 6. Nối văn bản vào cuối tập tin
- 7. Viết một chuỗi vào một tập tin văn bản sử dụng Xcode cho iPhone dev
- 8. Lọc danh sách JavaBeans bằng Google Guava
- 9. tập tin văn bản Reading sử dụng read.table
- 10. tạo danh sách ra khỏi tệp văn bản trong java?
- 11. Batch file - Viết danh sách các tập tin vào biến
- 12. Danh sách <BusinessObject> hoặc BusinessObjectCollection?
- 13. Danh sách từ điển vào danh sách <Type> sử dụng LINQ
- 14. Tập Hibernate Hoặc Danh sách
- 15. Thêm "đang sử dụng" vào tập tin ASPX hoặc ASCX
- 16. Viết địa chỉ IP cục bộ vào tập tin văn bản bằng cách sử dụng tập tin batch
- 17. Danh sách các định dạng tập tin lớp Java có số phiên bản chính?
- 18. Tập tin văn bản dài đọc Java rất chậm
- 19. PHP Thêm chuỗi vào tập tin văn bản
- 20. Groovy viết ra danh sách vào một tập tin
- 21. Lập bản đồ Java Sevlet. Chào mừng bạn Danh sách tập tin
- 22. Thêm văn bản vào một tập tin hình ảnh
- 23. Java được cài đặt, trong danh sách, nhưng thực hiện sản xuất "./java: Không có tập tin hoặc thư mục"
- 24. Danh sách Hiệu suất SqlDataReader <string[]> hoặc Danh sách <object[]>
- 25. Danh sách <Double> sử dụng RAM gấp đôi []?
- 26. Không thể (hoặc có thể) vào Danh sách <int> .Cast <Enum>()?
- 27. C# Đúc Danh sách <ushort> vào danh sách <short>
- 28. DataTable vào Danh sách <object>
- 29. Viết số vào một tập tin văn bản - tập tin batch
- 30. Kéo tập tin văn bản thả n '
'IOUtils.lineIterator' là lựa chọn tốt hơn vì nó không tải toàn bộ tệp vào bộ nhớ. –