主にI / Oクラスで使用されるJava 1.scala(java.io.Fileに)
パス区切り文字(「;」ウィンドウ)を表すパブリック静的最終列pathSeparator定数
パブリック静的最終列セパレータは、一定のパス区切り文字(「\」ウィンドウ)を表します
公開ファイル(文字列のパス名は)完全なパスを渡し、建設Fileクラスのオブジェクトを作成します。
パブリックブールでCreateNewFile()のIOExceptionは、新しいファイルを作成する通常のスロー
通常のファイルが存在する)(パブリックブール値が存在するかどうかは判断され
パブリックブール削除()普通のファイルの削除
パブリックブールisDirectory()通常のかどうかは、与えられたパスがディレクトリであるかどうかを判断します
公共長い長さ()通常のファイルサイズを返します。
公共のString []リスト()すべての一般的な指定されたディレクトリの内容が、名前
公共ファイル[] LISTFILES()指定されたディレクトリのすべての一般的な内容は、パスを一覧表示されます。
一般的なディレクトリを作成するには、パブリックブールます。mkdir()
既存のファイルの名前を変更するパブリックブールrenameTo(ファイルDEST)共通
2.小型の例:
import java.io.File
import scala.io.Source
import java.io.PrintWriter
val filePath = new File("C:\\Users\\peanut\\Desktop\\apple.txt")
val source=Source.fromFile(filePath)
val source2=Source.fromFile(filePath,"UTF-8")
val source3 = Source.fromURL("www.baidu.com","UTF-8")
val source4 = Source.fromString("i like strawberry")
//读取文件中所有行,返回一个迭代器
val lineIterator = source.getLines()
lineIterator.foreach(println)
//读取文件中所有行,toArray返回一个数组
val lineArray = source.getLines().toArray
for(ele <- lineArray){
println("line: "+ele)
}
//读取文件中所有行,mkstring返回一个字符串
val lineString = source.getLines().mkString //文件不能过大
//将文件内容以空格分割,返回一个数组
val arrayTokens = source.mkString.split("\\s+")
source.close() //关闭流
//写文件
val out =new PrintWriter("C:\\Users\\peanut\\Desktop\\appleWrite.txt")
for (i <- 1 to 10){
//out.println("hello")
out.write("Apple")
}
out.close()//关闭打印流
3.小さな例2:
val path = new File("C:\\Users\\peanut\\Desktop\\myFile")
for(file <- getFile(path)){
val filePath=file.getAbsolutePath //获取绝对路径
System.out.println("getAbsolutePath: " + filePath)
val fileName=file.getName //获取文件名
System.out.println("fileName: " + fileName)
}
val path2 = new File("C:\\Users\\peanut\\Desktop\\apple.txt")
try {
path2.createNewFile()
println("create file success ")
} catch {
case e:Exception => println("can't create "+path2)
}
if(path2.exists()){
path2.delete()
println("delete file success!")
}
/**
* 遍历出指定目录下的全部文件
* @param file 指定目录
* @return Array[File]
*/
def getFile(file: File): Array[File] = {
val files = file.listFiles().filter(!_.isDirectory) //过滤掉目录
//.filter(t => t.toString.endsWith(".txt") || t.toString.endsWith(".json") ) //过滤保留特定后缀名的文件
//递归遍历子目录
val files2=file.listFiles().filter(_.isDirectory).flatMap(getFile)
files ++ files2
}
/**
* 遍历出指定目录下的所有目录
* @param file 指定目录
* @return Array[File]
*/
def getDir(file: File): Array[File] = {
val dirs = file.listFiles().filter(_.isDirectory) //只保留目录
//递归遍历子目录
val dirs2=files.flatMap(getDir)
dirs++ dirs2
}