2009-10-20 32 views
8

Trong java, các hoạt động IO phổ biến liên quan đến luồng, tệp và các loại tương tự có thể hơi khó chịu. Vì vậy, tôi (và nhiều người khác) có xu hướng tiếp cận với những thứ như commons-io để giảm đau.IO thành ngữ với scala

Trong scala - có một số thành ngữ/lớp/thư viện tốt hơn để sử dụng (Tôi biết về scala.io.Source, vv để đọc trong tệp văn bản - nhưng về luồng vv). Có phải là "bình thường" để sử dụng các thư viện như commons-io trong scala hoặc có cách nào tốt hơn không?

Trả lời

4

Đã có một số cuộc thảo luận về danh sách gửi thư Scala về vấn đề đặc biệt này. Và, nếu tôi nhớ chính xác, không có gì cụ thể ra khỏi chúng. Trong thời gian đó, bạn sẽ không bị mất kiểm tra Scalax. scalax.io trông rất hứa hẹn.

+0

Liên kết ở trên đã lỗi thời chưa? Khi tôi truy cập nó, nó chỉ đơn giản nói rằng "Nó không hoạt động!" –

+0

Scala io có thể được tìm thấy tại https://github.com/jesseeichar/scala-io – hvrauhal

5

gì về việc sử dụng:

Source.fromInputStream(is, "UTF8") 

Như trong:

for (line <- Source.fromInputStream(is, "UTF8").getLines) { 
    // process line here 
} 
+0

Có, tôi biết về điều đó nhưng nó chỉ thích hợp cho các tệp văn bản/nguồn, nó không phải là một IO api chung. –

+0

@michael -you hỏi cụ thể về mọi thứ trong scala để xử lý IO bằng luồng. Tôi thực sự không nghĩ rằng câu trả lời xứng đáng với sự rút lui. Nó hoàn toàn hợp pháp để sử dụng điều này với bất kỳ dòng văn bản cơ bản (ví dụ như từ một ổ cắm). –

1

I/O chưa được giải quyết ở Scala. Những gì tồn tại, chỉ tồn tại để hỗ trợ trình biên dịch và thư viện XML.

0

Scalax của Erik Engbrecht fork có thể hữu ích.

Các vấn đề liên quan