標籤:大資料 spark 王家林 scala
2015.7.9
DT大資料夢工廠scala 深入淺出實戰經典 再也沒有這樣好的視頻了,只要每天看一點,你就會有一點收穫,講的並不只是代碼,而且還有一些看待事物的哲理,通過真實情境來思考代碼,這是這個視頻的精華所在,要想學好大資料,並沒有什麼可猶豫的,直接看就可以了,你的成功不在於你努力了多少,而是你做了成功的事。shihttp://pan.baidu.com/s/1kTotMQz
今天先講一下File這個傳輸的過程吧,自己敲了一下代碼試試,這是我通過看視頻,散發出的一些正能量,絕對剛出爐,還熱乎的呢。
首先,上代碼:
package com.dt.scala.basic
import scala.io.Source
import java.io.File
import java.io.PrintWriter
import java.io.FileWriter
import java.io.BufferedWriter
import java.util.Scanner
object FileOps {
def main(args: Array[String]): Unit = {
// val file=Source.fromFile("E:\\hehe.txt","utf8")
// for(line <- file.getLines){println(line)}
// file.close();
// val webFile = Source.fromURL("http://spark.apache.org/")
// webFile.foreach(print)
// webFile.close
// val webFile=Source.fromURL("http://spark.apache.org/")
// for(line<-webFile.getLines()){println(line)}
// println("**********************************************************")
// webFile.foreach { print }
// webFile.close()
// val writer = new PrintWriter(new File("scalaFile.txt" ))
// for (i <- 1 to 100) writer.println(i)
// writer.close()
// val writer=new PrintWriter(new File("scalaFile.txt"))
// for(i<-1 to 50) writer.println(i)
// writer.close()
// val filll=new File("scalaFile.txt")
// if(!filll.exists()){
// filll.createNewFile();
// }
// val hehe=new FileWriter(filll.getAbsoluteFile,true)
// val buffer=new BufferedWriter(hehe)
// for(i<-1 to 50){
// buffer.write(""+i)
// }
// buffer.close()
// print("Please enter your input : " )
// val line = readLine
// println("Thanks, you just typed: " + line)
print("Please enter your input : ")
val line=readLine()
println("Thanks,you just typed: " +line)
val scan = new Scanner(System.in);
println(scan.next())
}
}
首先就是file的擷取和輸出file的內容,
1)如果檔案是用utf8格式的方式輸入的,那個Source.fromFile就應該加一個參數,就是“utf8”,如果不加預設是按照項目的編碼格式來判斷的,項目用的是utf8,檔案用的是gbk,如果不加第二個參數,就會出現亂碼,
2)for迴圈中,如果用不到迴圈第幾次數,則最好用foreach()這樣中間變數都省了。最好不要用for(line<-file.getLines).但是如果需要用到迴圈次數,比如寫入1到50到一個檔案,應該用for(i<-1 to 50).
3)但是用PrintWriter不能追加檔案,要是想在一個檔案文字的末尾追加一段文字,就得用FileWriter,這個的第二個參數是true,就可以追加。
4)因為scala的readLine是到期的方法,被畫橫線了,所以推薦大家還是用Scanner吧
DT大資料夢工廠,插上大資料的翅膀