Squashed 'Programming/ProgLab6/' content from commit 3e98b8e

git-subtree-dir: Programming/ProgLab6
git-subtree-split: 3e98b8e205b1a576c861f90028b198d5052a79c3
This commit is contained in:
LeterZP
2026-05-17 15:29:12 +03:00
commit 1d57fb83a4
62 changed files with 2722 additions and 0 deletions
+50
View File
@@ -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()
}
}