2009-10-20 16 views
8

W języku java typowe operacje IO obejmujące strumienie, pliki i tym podobne mogą być nieco denerwujące. Tak więc ja (i wiele innych) staram się sięgać po rzeczy takie, jak błonki, aby złagodzić ból.Idiomatic IO ze skalą

W scala - czy są jakieś lepsze idiomy/klasy/biblioteki do użycia (znam scala.io.Source itp. Do czytania w plikach tekstowych - ale co z strumieniami itp.). Czy "normalne" jest używanie bibliotek takich jak commons-io w scala, czy jest o wiele lepszy sposób?

Odpowiedz

4

Było kilka dyskusji na liście dyskusyjnej Scala w tej konkretnej sprawie. I jeśli dobrze pamiętam, nic z nich nie wyszło. W międzyczasie nie będziesz musiał tracić czasu na zapoznanie się z Scalax. scalax.io wygląda bardzo obiecująco.

+0

Czy powyższy link jest nieaktualny? Kiedy mam do niego dostęp, po prostu mówi "To nie działa!" –

+0

Scala io można znaleźć na stronie https://github.com/jesseeichar/scala-io – hvrauhal

5

Co o używaniu:

Source.fromInputStream(is, "UTF8") 

na przykład:

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

Tak, wiedziałem o tym, ale jest to jedyne odpowiednie dla plików tekstowych/źródłowych, nie jest to ogólne api IO. –

+0

@michael - zapytałeś konkretnie o wszystko w scala, aby obsłużyć IO strumieniami. Naprawdę nie sądzę, że odpowiedź na to zasługuje. Używanie tego z dowolnym strumieniem tekstowym (np. Z gniazda) jest całkowicie uzasadnione. –

1

I/O nie było jeszcze adresowane w Scali. To, co istnieje, istnieje wyłącznie w celu obsługi kompilatora i biblioteki XML.

0

Eleks Engbrecht's scalax fork może być przydatny.

Powiązane problemy