File

FileManager

Class Initialize

การเริ่มต้นใช้งาน จะมี 2 กรณีคือ companion object function และ function ที่จะต้องประกาศ object ของคลาสตามตัวอย่าง

FileManager(private val context : Context)

Variables Companion Object

NameDescriptionTypeDefaultVariable Type
DEFAULT_BUFFER_SIZEขนาดเริ่มต้นของ buffer สามารถแก้ไขได้Int1024 * 4var

Method Companion Object Overview

NameDescriptionReturn
createImageOrVideoFile()สร้างไฟล์รูปภาพหรือวีดีโอใน Local storage DCIM ใน deviceFile
writeFileFromJson()เขียนไฟล์นามสกุล .json จาก json StringFile
createZipFile()สร้างไฟล์นามสกุล .zipFile
renameFile()แก้ไขชื่อไฟล์จากไฟล์เดิมFile
writeTextFile()เขียน text ลงไฟล์Unit
isFileExists()ตรวจสอบว่าไฟล์นี้มีอยู่ที่ path นั้นหรือไม่Boolean
readTextFile()อ่าน text จากไฟล์String
splitFileNameAndExtension()แยกชื่อไฟล์ กับ นามสกุล ออกจากกันArray< String >
deleteFile()ลบไฟล์Unit
copyFile()คัดลอกไฟล์จากที่นึงไปอีกที่นึงUnit
createFileFromInputStream()สร้างไฟล์ จาก InputStreamCompletable

Method Companion Object Details

fun createAlertBuilder(imageOrVdoName: String = DateUtil.getTimestamp().toString() , ext: String) : File

สร้างไฟล์รูปภาพหรือวีดีโอใน Local storage DCIM ใน device

Parameters

NameDescriptionTypeDefault
imageOrVdoNameชื่อไฟล์ของไฟล์รูปหรือวีดีโอStringDateUtil.getTimestamp().toString()
extนามสกุลของไฟล์รูปหรือวีดีโอString

Returns

TypeDescription
FileReturn ไฟล์ที่เราได้สร้างโดยมีชื่อไฟล์และนามสกุลที่เรากำหนด
fun writeFileFromJson(json : String , fileName : String , targetDirectory : File) : File

เขียนไฟล์นามสกุล .json จาก json String

Parameters

NameDescriptionType
jsonjson String ที่เราต้องการเขียนเข้าไฟล์String
fileNameชื่อไฟล์String
targetDirectoryfolder path file ของไฟล์ที่จะให้ไฟล์ .json นี้ไปอยู่File

Returns

TypeDescription
FileReturn ไฟล์ .json ที่เราได้สร้างโดยมีที่อยู่อยู่ที่เรากำหนด
fun writeFileFromJson(json : String , fileName : String , targetPath : String) : File

เขียนไฟล์นามสกุล .json จาก json String

Parameters

NameDescriptionType
jsonjson String ที่เราต้องการเขียนเข้าไฟล์String
fileNameชื่อไฟล์String
targetPathpath ของไฟล์ที่จะให้ไฟล์ .json นี้ไปอยู่String

Returns

TypeDescription
FileReturn ไฟล์ .json ที่เราได้สร้างโดยมีที่อยู่อยู่ที่เรากำหนด
fun createZipFile(targetFileZipDirectory : File , zipFileName: String , targetFile : File) : File

สร้างไฟล์นามสกุล .zip

Parameters

NameDescriptionType
targetFileZipDirectoryfolder path file ที่จะให้ไฟล์ .zip ที่จะสร้างนั้นไปอยู่File
zipFileNameชื่อไฟล์String
targetFilefolder file ที่ต้องการ zipFile

Returns

TypeDescription
FileReturn ไฟล์ .zip ที่เราได้สร้างโดยมีที่อยู่อยู่ที่เรากำหนด
fun renameFile(file : File, newName : String) : File

แก้ไขชื่อไฟล์จากไฟล์เดิม

Parameters

NameDescriptionType
fileไฟล์เดิมที่ต้องการเปลี่ยนชื่อFile
newNameชื่อไฟล์ใหม่String

Returns

TypeDescription
FileReturn ไฟล์ที่มีชื่อใหม่
fun writeTextFile(folderPath: String, fileName: String?, text: String)

เขียน text ลงไฟล์

Parameters

NameDescriptionType
folderPathpath ไฟล์ที่ต้องการให้ text ไฟล์อยู่String
fileNameชื่อไฟล์String?
textข้อมูล text ที่ต้องการเขียนString
fun isFileExists(folderPath: String) : Boolean

ตรวจสอบว่าไฟล์นี้มีอยู่ที่ path นั้นหรือไม่

Parameters

NameDescriptionType
folderPathfolder file path ที่ต้องการตรวจสอบString

Returns

TypeDescription
BooleanReturn true เมื่อไฟล์นั้นมีอยู่ที่ path นั้น และ Return false เมื่อไฟล์นั้นไม่มีอยู่ที่ path นั้น
fun readTextFile(fullPathFile: String) : String

อ่าน text จากไฟล์

Parameters

NameDescriptionType
fullPathFilefolder file path ที่ต้องการจะอ่านString

Returns

TypeDescription
StringReturn String text ทั้งหมดที่ได้จากไฟล์ที่เราอ่าน
fun splitFileNameAndExtension(fileName: String) : Array<String>

แยกชื่อไฟล์ กับ นามสกุล ออกจากกัน

Parameters

NameDescriptionType
fileNameชื่อไฟล์ที่มีนามสกุลด้วย เช่น test.txtString

Returns

TypeDescription
Array< String >Return Array ของ ชื่อไฟล์ โดยชื่อไฟล์อยู่ index 0 และนามสกุลไฟล์อยู่ index ที่ 1 เช่น test.txt จะได้ [“test” , “.txt”]
fun deleteFile(fileOrDirectory : File)

ลบไฟล์

Parameters

NameDescriptionType
fileOrDirectoryfolder file หรือ file ที่ต้องการจะลบFile
fun copyFile(input: InputStream, output: OutputStream)

คัดลอกไฟล์จากที่นึงไปอีกที่นึง

Parameters

NameDescriptionType
inputInputStream ที่ต้องการคัดลอกInputStream
outputOutputStream ที่จะ output ไปอีกที่OutputStream
fun createFileFromInputStream(inputStream: InputStream, file: File) : Completable

สร้างไฟล์ จาก InputStream

Parameters

NameDescriptionType
inputStreamInputStream ที่ต้องการจะ outputInputStream
fileไฟล์ที่ต้องการจะให้ Inpustream ไป output ที่ไฟล์นี้File

Returns

TypeDescription
CompletableReturn Completable เพื่อให้การทำงานต่อจากนี้

Variables class

NameDescriptionTypeDefaultVariable Type
INTERNAL_STORAGE_ABSOLUTEPATHpath ของ internal storage ใน deviceStringcontext.filesDir.absolutePathval
INTERNAL_STORAGE_PATHpath ของ internal storage ใน deviceStringcontext.filesDir.pathval

Method class Overview

NameDescriptionReturn
createDirectory()สร้าง Folder fileFile
getFileName()เอาชื่อไฟล์จาก UriString?
getAlbumCacheDirectory()เอาไฟล์ cacheFile
getFileFromUri()สร้างไฟล์จาก UriFile

Method Details

fun createDirectory(path : String , isNeedInternalStoragePath : Boolean = false) : File

สร้าง Folder file

Parameters

NameDescriptionTypeDefault
pathpath ไฟล์ที่ต้องการจะสร้างString
isNeedInternalStoragePathต้องการใช้ path internal storage ถ้าเป็น true จะใช้ แต่ถ้า false จะไม่ใช้ เช่น createDirectory(“Data/Music”,true) ทำให้ได้ folder อยู่ที่ path “${INTERNAL_STORAGE_PATH}/Data/Music”Booleanfalse

Returns

TypeDescription
FileReturn folder ไฟล์ที่เราสร้างที่ตำแหน่งนั้น
fun getFileName(uri: Uri) : String?

เอาชื่อไฟล์จาก Uri

Parameters

NameDescriptionType
uriUri ของไฟล์Uri

Returns

TypeDescription
String?Return String ที่เป็นชื่อไฟล์
fun getAlbumCacheDirectory(albumName : String) : File

เอาไฟล์ cache

Parameters

NameDescriptionType
albumNameชื่อไฟล์ cacheString

Returns

TypeDescription
FileReturn ไฟล์ cache
fun getFileFromUri(uri: Uri) : File

สร้างไฟล์จาก Uri

Parameters

NameDescriptionType
uriUri ที่จะสร้างเป็นไฟล์Uri

Returns

TypeDescription
FileReturn ไฟล์ที่ได้จาก Uri