2015-08-06 2 views
0

Я пытаюсь читать строки из текстового файла в цикл foreach, но я продолжаю получать эту ошибку: value getLines is not a member of org.xml.sax.InputSource. Может кто-нибудь объяснить, что означает эта ошибка, и как я могу ее решить?ошибка цикла foreach из файла

import scala.xml._ 
import collection.mutable.HashMap 

val noDupFile="nodup_steam_out.txt" 
Source.fromFile(noDupFile).getLines().par.foreach((res:String){ 
    //.... 
}) 

ответ

0
import scala.xml._ 
import collection.mutable.HashMap 

val noDupFile="nodup_steam_out.txt" 
io.Source.fromFile(noDupFile).getLines().foreach(res => { 
    //.... 
}) 

без права импорта вы имеете в виду org.xml.sax.InputSource

io.Source.fromFile возвращает io.BufferedSource и не имеет номинальной метод (определенный на Parallelizable).

Вы можете написать

import scala.xml._ 
import collection.mutable.HashMap 

val noDupFile="nodup_steam_out.txt" 
io.Source.fromFile(noDupFile).getLines().toStream.par.foreach(res => { 
    //.... 
}) 
+0

, когда я использую свой код и попробуйте заменить '...' 'с Println (Рез)' ничего не происходит на экран, то программа выходит без ошибок. Я сделал что-то еще неправильно? (Да, файл существует, и у него есть содержимое) – Rilcon42

+0

Он должен выводить что-то. Вы тоже удалили комментарий? –

+0

У меня была ошибка области в другой части моего кода, поэтому содержимое цикла никогда не запускалось ..... исправлено это – Rilcon42

0

Вы, кажется, пытается использовать библиотеку scala.xml перебрать вы текстовый файл. Если импортировать scala.io._ вместо этого, вы должны быть в состоянии сделать что-то вроде:

import scala.io._ 

val noDupFile="nodup_steam_out.txt" 
Source.fromFile(noDupFile).getLines().foreach{ res => 
    //.... 
} 
+0

Это решило часть моей проблемы, но теперь я получаю сообщение об ошибке 'par.foreach '. Как я могу исправить это 'значение par не является членом Iterator [String]' – Rilcon42