Squashed 'Programming/ProgLab6/' content from commit 3e98b8e
git-subtree-dir: Programming/ProgLab6 git-subtree-split: 3e98b8e205b1a576c861f90028b198d5052a79c3
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
package io
|
||||
|
||||
import java.io.BufferedInputStream
|
||||
import java.io.BufferedWriter
|
||||
import java.io.FileInputStream
|
||||
import java.io.FileWriter
|
||||
|
||||
/**
|
||||
* Класс для чтения данных из файла.
|
||||
*
|
||||
* @param file Имя файла типа [String].
|
||||
*
|
||||
* @constructor Создаёт готовый к использованию объект, принимая все описанные выше параметры.
|
||||
*
|
||||
* @since 1.0
|
||||
*/
|
||||
class FileIO(private val file: String) {
|
||||
|
||||
/**
|
||||
* Читает весь файл.
|
||||
*
|
||||
* @return [String] строку файла.
|
||||
*
|
||||
* @throws [NoSuchElementException] В случае, если в файле не осталось непрочитанных строк.
|
||||
* @throws [java.io.IOException] В случае, если файла не существует.
|
||||
*
|
||||
* @since 1.0
|
||||
*/
|
||||
fun readFile(): String {
|
||||
val reader = BufferedInputStream(FileInputStream(file))
|
||||
val text = reader.readAllBytes().decodeToString()
|
||||
reader.close()
|
||||
return text
|
||||
}
|
||||
|
||||
/**
|
||||
* Записывает строки в файл.
|
||||
*
|
||||
* @param text Строки для записи типа [String].
|
||||
*
|
||||
* @throws [java.io.IOException] В случае, если файла не существует.
|
||||
*
|
||||
* @since 1.0
|
||||
*/
|
||||
fun writeToFile(text: String) {
|
||||
val writer = BufferedWriter(FileWriter(file))
|
||||
writer.write(text)
|
||||
writer.close()
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user