线程“main”java.io.FileNotFoundException中的Scala异常

时间:2018-05-19 13:26:19

标签: scala fromfile

你可以帮我解决下面的问题,下面是我的scala代码:

'A'

以下是错误:

import scala.io.Source

case class TempData(day:Int , DayOfYear:Int , month:Int , year:Int ,
                    precip:Double , snow:Double , tave:Double, tmax:Double, tmin:Double)
object TempData {
 def main(args:Array[String]) : Unit ={
   val source = Source.fromFile("C:///DataResearch/SparkScala/MN212142_9392.csv")
   val lines = source.getLines().drop(1)
   val data= lines.map{ line =>
     val p = line.split(",")
     TempData(p(0).toInt , p(1).toInt, p(2).toInt, p(4).toInt
     , p(5).toDouble, p(6).toDouble , p(7).toDouble, p(8).toDouble,p(9).toDouble)
   }.toArray
   source.close()
   data.take(5).foreach(println)
 }
}

我的文件(MN212142_9392.csv)位于文件夹DataResearch和SparkScala中的c盘中。 我已经尝试了所有可能的改变但没有任何帮助。 请你冷吗?

1 个答案:

答案 0 :(得分:2)

尝试使用File类而不是Source

new File("path")

它应该解决你的问题:)

或者使用班级Files :) 您可以在下面找到文档链接: https://docs.oracle.com/javase/7/docs/api/java/io/File.html https://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html

仔细检查你的路径。在我看来,更好的选择是使用相对路径而不是绝对路径。将此文件放在项目中并尝试使用相对路径。您的应用程序找不到您的文件:)

编辑:

在创建一个简单文件TempData.scala中包含:

import scala.io.Source 

object TempData {
  def main(args:Array[String]) : Unit ={
    val source = Source.fromFile("test.csv")
    val lines = source.getLines()
  }
}

我创建了文件test.csv

我使用了scalac TempData.scala,然后使用scala TempData。一切都很好,因为你以正确的方式使用方法。你有路径问题。所以我的建议是尝试使用你放在项目中的文件,如果一切正常,请检查你以前的路径:)