2015-08-07 2 views
0

Я пытаюсь распечатать содержимое файла, но каждый раз, когда я запускаю этот код, ничего не возвращается. Я знаю, что файл существует (из-за строки 4) и имеет содержимое. Почему этот код не возвращает результаты?не печатать содержимое файла параллельно

import scala.xml._ 
import collection.mutable.HashMap 
import java.nio.file.{Paths, Files} 

val noDupFile="nodup_steam_out.txt" 
println(Files.exists(Paths.get(noDupFile))) //returns true 

object HelloWorld { 
    def main(args: Array[String]) { 

    io.Source.fromFile(noDupFile).getLines().toStream.par.foreach((res:String)=>{ 
     println(res) 
    }) 

EDIT: После того, как предложил ответы, которые я обновил свой код, чтобы принять предложения:

import scala.xml._ 
import collection.mutable.HashMap 
import java.nio.file.{Paths, Files} 

val api="BLAH" 

object HelloWorld { 
    def main(args: Array[String]) { 
    val noDupFile="nodup_steam_out.txt" 
    println(Files.exists(Paths.get(noDupFile))) //returns true 
    io.Source.fromFile(noDupFile).getLines().toStream.par.foreach((res:String)=>{ 
     /* 
     val url=("http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key="+api+"&steamids="+res+"&format=xml") 
     //http://api.steampowered.com/ISteamUser/GetFriendList/v0001/?key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&steamid=76561197960435530&relationship=friend 
     //http://api.steampowered.com/IPlayerService/GetOwnedGames/v0001/?key=XXXXXXXXXXXXXXXXX&steamid=76561197960434622&format=json 
     //http://api.steampowered.com/IPlayerService/GetRecentlyPlayedGames/v0001/?key=XXXXXXXXXXXXXXXXX&steamid=76561197960434622&format=json 
     //http://api.steampowered.com/ISteamUser/GetPlayerBans/v1/?key=XXXXXXXXXXXXXXXXX&steamids=XXXXXXXX,YYYYY 
     val str = scala.io.Source.fromURL(url.toString,"utf-8").mkString 
     val x=xml.XML.loadString(str)  
     val allNodes = x \\ "response" \\ "players" \\ "player" flatMap(_.child) filter(!_.isAtom) 
     allNodes.foreach(n => { 
      print(s"${n.label}: ${n.text},") 
     }) 
     */ 
     println(res) 
    }) 
}} 

ответ

0

Ваш пример отсутствует брекет закрытия для HelloWorld объекта.

Кроме того, вам необходимо поместить свой val в объект. Если вы попробуете scalac свой файл, он должен выслать ошибку. Рабочий код:

import scala.xml._ 
import collection.mutable.HashMap 
import java.nio.file.{Paths, Files} 

object HelloWorld { 

val noDupFile="nodup_steam_out.txt" 
println(Files.exists(Paths.get(noDupFile))) //returns true 
    def main(args: Array[String]) { 

    io.Source.fromFile(noDupFile).getLines().toStream.par.foreach((res:String)=>{ 
     println(res) 
    }) 
}} 

Правильная версия кода редактирования:

import scala.xml._ 
import collection.mutable.HashMap 
import java.nio.file.{Paths, Files} 

    object HelloWorld { 
     def main(args: Array[String]) { 
      val api="BLAH" 
      val noDupFile="nodup_steam_out.txt" 
      println(Files.exists(Paths.get(noDupFile))) //returns true 
      io.Source.fromFile(noDupFile).getLines().toStream.par.foreach((res:String)=>{ 
       println(res) 
      }) 
    }} 
+0

Я только что обновил свой пост, чтобы включить весь свой код. У меня были закрывающие parens, но я не смог включить их в свой оригинальный пример. – Rilcon42

+0

Ваш «val api =« BLAH »« должен войти в объект. в противном случае это выходит за рамки. – Bacon

+0

Это имеет прекрасный смысл, почему не scala выбросить какие-либо ошибки? – Rilcon42

Смежные вопросы