java-try-mit-Ressourcen-nicht die Arbeit mit scala

In der Scala-Anwendung, versuche zu Lesen von Zeilen aus einer Datei, die mit java nio try-with-resource-Konstrukt.

Scala-version 2.11.8

Java version 1.8

try(Stream<String> stream = Files.lines(Paths.get("somefile.txt"))){
    stream.forEach(System.out::println); //will do business process here
}catch (IOException e) {
    e.printStackTrace(); //will handle failure case here
}  

Aber der compiler wirft Fehler wie

◾nicht gefunden: value-stream

◾Ein try ohne catch-oder finally-ist äquivalent zu setzen, seinen Körper in einen block; es sind keine Ausnahmen behandelt.

Nicht sicher, was das problem ist. Bin neu mit Java NIO, so dass jede Hilfe wird sehr geschätzt.

  • Es ist nichts falsch im java-code
  • Ist dieser anwendbar?
  • Scala und Java sind unterschiedliche Sprachen. Sie können nicht nur erwarten, dass Java-syntax kompiliert schön, in einem Scala-Programm. Verwandte: stackoverflow.com/questions/25634455/..., stackoverflow.com/questions/2207425/...
  • Natürlich ist der Scala-compiler wirft Fehler. Das ist nicht Scala-code.
  • verstanden. Tut-scala haben try-mit-Ressourcen, die äquivalente Konstrukt?
  • Nizet, danke für den Hinweis
  • Scala hat die try / catch konstruieren, wie Java. Es hat auch die Versuchen Monade. (Nicht wirklich eine echte Monade, aber ziemlich nah dran.)
  • Hier ist eine weitere Antwort auf dieses problem, die alle Adressen der verschiedenen Signalwege für beide java.lang.AutoCloseable und für scala.io.Source: stackoverflow.com/a/34277491/501113

InformationsquelleAutor Rajkumar S | 2016-10-05
Schreibe einen Kommentar