Làm cách nào để lấy danh sách các tệp (hoặc tất cả các tệp * .txt) trong một thư mục trong Scala. Lớp Nguồn dường như không giúp ích gì.Đọc các tập tin từ một thư mục trong Scala
Trả lời
new java.io.File(dirName).listFiles.filter(_.getName.endsWith(".txt"))
Hiện tại, bạn nên sử dụng thư viện Java để thực hiện việc này.
Lớp Java File thực sự là tất cả những gì bạn cần, mặc dù thật dễ dàng để thêm một số Scala tốt để lặp qua thư mục dễ dàng hơn.
import scala.collection.JavaConversions._
for(file <- myDirectory.listFiles if file.getName endsWith ".txt"){
// process the file
}
Phiên bản JDK7, sử dụng lớp DirectoryStream mới là:
import java.nio.file.{Files, Path}
Files.newDirectoryStream(path)
.filter(_.getFileName.toString.endsWith(".txt"))
.map(_.toAbsolutePath)
Thay vì một chuỗi, này trả về một con đường, trong đó có vô số các phương pháp tiện dụng trên nó, như 'tương đối hóa' và ' subpath '.
Lưu ý rằng bạn cũng sẽ cần phải nhập import scala.collection.JavaConversions._
để bật interop với bộ sưu tập Java.
+1 để sử dụng java.nio – jasonoriordan
Tôi không biết nếu điều này đã làm việc trong các phiên bản trước, nhưng bây giờ tôi nhận được lỗi 'bản đồ giá trị không phải là một thành viên của java.nio.file.DirectoryStream [java.nio.file. Đường dẫn] ' – rumtscho
Tôi nhận được lỗi đó bằng cách sử dụng Java 8 –
- 1. Đọc tên tập tin từ một thư mục
- 2. Đọc các tập tin từ một thư mục có trong dự án
- 3. tải tập tin từ JAR trong Scala
- 4. Scala - Iterator trên tất cả các dòng trong các tập tin trong một thư mục
- 5. Cách đọc nội dung tập tin từ một tập tin?
- 6. Đọc tập tin từ torrent
- 7. Lặp qua các tập tin trong một thư mục
- 8. Đọc từ tập tin trong eclipse
- 9. Xóa tất cả các tập tin trong một thư mục
- 10. Đọc từ tập tin
- 11. Ruby FTP Tách tập tin từ các thư mục
- 12. Lấy tên tập tin từ thư mục trong Android
- 13. Truy cập các tập tin FTP từ Scala
- 14. Tìm tập tin trong một thư mục sử dụng Java
- 15. Bình: Làm thế nào để đọc một tập tin trong thư mục gốc của ứng dụng?
- 16. Regex cho các tập tin trong thư mục
- 17. danh sách sao chép các tập tin từ một thư mục khác trong R
- 18. Di chuyển các tập tin giữa các thư mục
- 19. PHP + Wordpress - có được một danh sách các tập tin từ một thư mục
- 20. Làm thế nào để đọc một tập tin thuộc tính trong java từ bên ngoài thư mục Class?
- 21. Sao chép tất cả các tập tin trong thư mục
- 22. ints Đọc từ một tập tin trong Chuck
- 23. Đọc các tập tin MP3
- 24. Đọc một tập tin từ nhiều chủ đề trong python
- 25. tạo một thư mục mới và một tập tin văn bản bên trong thư mục đó
- 26. Đọc giá trị null từ tập tin
- 27. MATLAB - đọc tệp từ thư mục?
- 28. Mở tập tin và đọc từ tập tin Objective-c
- 29. Scala tập tin Slurp
- 30. chơi tập tin âm thanh từ thư mục tài sản
Tôi đã cố gắng chỉnh sửa hai lỗi chính tả nhỏ, nhưng vì nó chỉ là hai ký tự, nó sẽ không cho phép tôi. Tên của gói là 'collection' và bạn đang thiếu dấu ngoặc đơn đóng trong' for'. – Eduardo