Kotlin проверка существования файла

Примеры работы с файловой системой на Kotlin

Работа с файловой системой в Kotlin может быть очень простой, если знать основные функции, доступные в базовой библиотеке языка. В этой статье мы рассмотрим несколько примеров работы с файловой системой на Kotlin.

Для создания файла в Kotlin можно использовать функцию `writeText()` объекта `File`. Например, чтобы создать файл с именем «file.txt» и записать в него строку «Hello, world!», можно использовать следующий код:

val file = File("file.txt") file.writeText("Hello, world!")

Функция `writeText()` создаст файл, если он не существует, и запишет в него текст. Если файл уже существует, функция перезапишет его содержимое.

Для чтения файла в Kotlin можно использовать функцию `readText()` объекта `File`. Например, чтобы прочитать содержимое файла «file.txt», созданного в предыдущем примере, можно использовать следующий код:

val file = File("file.txt") val text = file.readText() println(text)

Функция `readText()` вернет содержимое файла в виде строки. Если файл не существует, функция вернет пустую строку.

3. Проверка существования файла

Для проверки существования файла в Kotlin можно использовать функцию `exists()` объекта `File`. Например, чтобы проверить, существует ли файл «file.txt», можно использовать следующий код:

Читайте также:  Convert type to string python

val file = File(«file.txt») if (file.exists())

Функция `exists()` вернет `true`, если файл существует, и `false`, если файл не существует.

Для удаления файла в Kotlin можно использовать функцию `delete()` объекта `File`. Например, чтобы удалить файл «file.txt», созданный в первом примере, можно использовать следующий код:

val file = File("file.txt") file.delete()

Функция `delete()` удалит файл, если он существует. Если файл не существует, функция вернет `false`.

Кроме работы с файлами, Kotlin также позволяет работать с каталогами. Для создания каталога можно использовать функцию `mkdir()` объекта `File`, а для удаления каталога — функцию `delete()` с параметром `true`. Например, чтобы создать каталог «dir», можно использовать следующий код:

val dir = File("dir") dir.mkdir()

Для удаления каталога «dir», можно использовать следующий код:

val dir = File("dir") dir.delete(true)

Функция `delete(true)` удалит каталог и все его содержимое, если оно существует. Если каталог не существует, функция вернет `false`.

В заключение можно сказать, что работа с файловой системой в Kotlin может быть очень простой и интуитивно понятной при использовании базовых функций языка. Конечно, существуют и другие функции для работы с файловой системой, но эти примеры достаточно для начала.

Похожие записи:

Источник

Kotlin проверка существования файла

Appends the specified collection of char sequences lines to a file terminating each one with the platform’s line separator.

Appends the specified sequence of char sequences lines to a file terminating each one with the platform’s line separator.

appendText

Appends text to the content of this file using UTF-8 or the specified charset.

bufferedReader

Returns a new BufferedReader for reading the content of this file.

fun Path . bufferedReader (
charset : Charset = Charsets.UTF_8 ,
bufferSize : Int = DEFAULT_BUFFER_SIZE ,
vararg options : OpenOption
) : BufferedReader

bufferedWriter

Returns a new BufferedWriter for writing the content of this file.

fun Path . bufferedWriter (
charset : Charset = Charsets.UTF_8 ,
bufferSize : Int = DEFAULT_BUFFER_SIZE ,
vararg options : OpenOption
) : BufferedWriter

copyTo

Copies a file or directory located by this path to the given target path.

copyToRecursively

Recursively copies this directory and its content to the specified destination target path. Note that if this function throws, partial copying may have taken place.

fun Path . copyToRecursively (
target : Path ,
onError : ( source : Path , target : Path , exception : Exception ) -> OnErrorResult = < _, _, exception ->throw exception > ,
followLinks : Boolean ,
overwrite : Boolean
) : Path

fun Path . copyToRecursively (
target : Path ,
onError : ( source : Path , target : Path , exception : Exception ) -> OnErrorResult = < _, _, exception ->throw exception > ,
followLinks : Boolean ,
copyAction : CopyActionContext . ( source : Path , target : Path ) -> CopyActionResult = < src, dst ->src.copyToIgnoringExistingDirectory(dst, followLinks) >
) : Path

Источник

Read and write files in Kotlin

In Kotlin, to check if the file already exists, use File.exists(), exists() returns a Boolean value. It returns true if the file exists and false if the file does not exist.

import java.io.File fun main(args: Array) < val filename = "chercher tech.txt" var fileObject = File(filename) var fileExists = fileObject.exists() if(fileExists)< print("$filename file does exist.") >else < print("$filename file does not exist.") >>

Kotlin Create File

In Kotlin, a new file could be created using

We will learn about how to use these file writing methods in kotlin .

File.createNewFile()

File.createNewFile() creates a new file if it does not exist already and returns a Boolean value of true. If the file exists at the path provided, then createNewFile() functions returns false. The file created is empty and has zero bytes written to it.

createNewFile() is the way in which the existing file will not be overridden. Remaining ways will overwrite the file if it exists.

In the below example, we will try to create a new file and then we try to override it.

import java.io.File fun main(args: Array) < val fileName = "cherchertech.txt" var fileObject = File(fileName) // create a new file val isNewFileCreated :Boolean = fileObject.createNewFile() if(isNewFileCreated)< println("$fileName is created successfully.") >else < println("$fileName already exists.") >// try creating a file that already exists val isFileCreated :Boolean = fileObject.createNewFile() if(isFileCreated) < println("$fileName is created successfully.") >else < println("$fileName already exists.") >>

writeText()

writeText() function creates a new file if it does not exist already and writes the text (string argument) to the file. If an empty string is provided, the file is created and nothing is written to it.

if file exists in the path already then the file will be overridden, Sets the content of this file as text encoded using UTF-8 or charset specified by the user.

import java.io.File fun main(args: Array) < val fileName = "chercher tech.txt" var fileObject = File(fileName) // create a new file fileObject.writeText("This is some text for file writing operations") >

writeBytes()

writeBytes() function creates a new file and writes an array of bytes provided to the file created. If this file already exists, it becomes overwritten.

Read files in Kotlin

We can read contents of a file in Kotlin either by using standard methods of the java.io.File class, or the methods that Kotlin provides as an extension to java.io.File.

chercher tech.txt file content

Chercher tech provides the tutorials for the future technologies, We are writing an article one per day Actually the author is not a developer, he is a tester first author thought to write a tutorial only for selenium then he thought for protractor python and then UI path now writing kotlin file operations

bufferedReader()

bufferedReader() to read contents of a file into BufferedReader

import java.io.File fun main(args: Array) < val file = File("chercher tech.txt") val bufferedReader = file.bufferedReader() val text:List = bufferedReader.readLines() for(line in text)< println(line) >>

forEachLine()

forEachLine() reads this file line by line using the specified charset and calls the action for each line. The default charset is UTF-8

import java.io.File fun main(args: Array) < val file = File("chercher tech.txt") file.forEachLine < println(it) >>

inputStream()

inputStream() Constructs a new FileInputStream of this file and returns it as a result.

import java.io.File import java.io.InputStream import java.nio.charset.Charset fun main(args: Array) < val file = File("chercher tech.txt") var ins:InputStream = file.inputStream() // read contents of IntputStream to String var content = ins.readBytes().toString(Charset.defaultCharset()) println(content) >

readBytes()

readBytes() Gets the entire content of this file as a byte array. This method is not recommended on huge files. It has an internal limitation of 2 GB byte array size.

import java.io.File fun main(args: Array) < val file = File("chercher tech.txt") var bytes:ByteArray = file.readBytes() for(byte in bytes)< print(byte.toChar()) >>

readLines()

readLines() Reads the file content as a list of lines. Do not use this function for huge files.

import java.io.File fun main(args: Array) < val file = File("chercher tech.txt") var lines:List = file.readLines() for(line in lines)< println(line) >>

readText()

readText() Gets the entire content of this file as a String using UTF-8 or charset specified by the user

import java.io.File fun main(args: Array)

Write content to files

Creating a file is different from writing a file, we can write content to file while creating it but sometime we may want to write to a file which is already present in the file system.

We can write a using writeText() function present in the File class

import java.io.File fun main(args: Array) < val filename = "chercher tech.txt" // content to be written to file var content:String = "dummy text to show writing to file in koltin chercher tech" File(filename).writeText(content) >
import java.io.PrintWriter fun main(args: Array) < val filename = "chercher tech.txt" // content to be written to file var content:String = "dummy text to show writing to file in koltin chercher tech" // using java class java.io.PrintWriter val writer = PrintWriter(filename) writer.append(content) writer.close() >

printWriter() function calls the PrintWriter constructor internally

import java.io.File fun main(args: Array) < val filename = "chercher tech.txt" // content to be written to file var content:String = "dummy text to show writing to file in koltin chercher tech" // write content to file File(filename).printWriter().use < param ->param.println(content) > >

Append content to a file in kotlin

What is the difference between simply writing to a file vs appending data to a file?
In the case of writing to a file, a program can start writing from the start but in the case of appending text , you start writing from the end of the file.

You can append text into an existing file in Kotlin by opening a file using appendText() function in File class. One of the common examples of appending text to file is logging

import java.io.File fun main(args: Array) < val filename = "chercher tech.txt" // content to be written to file var content:String = "dummy text to show writing to file in kotlin chercher tech" // write content to file File(filename).writeText(content) File(filename).appendText("ppppppp") >

Источник

Kotlin Files.exists() and Files.isSameFile()

The Files class provides utility methods that are useful for working with the file system.

import java.io.BufferedWriter import java.io.FileWriter import java.nio.file.Files import java.nio.file.Paths private val belchers = "belchers.txt" private fun makeBelcherFile() < val names = listOf("Bob", "Linda", "Tina", "Gene", "Louise") BufferedWriter(FileWriter(ch9.paths.belchers)).use < writer ->names.forEach < name ->with(writer) < write(name) newLine() >> > > fun main(args : Array) < //Check if the file exists first, and create it if needed if (!Files.exists(Paths.get(belchers)))< makeBelcherFile() >val relativeBeclhers = Paths.get(belchers) val absoluteBelchers = Paths.get(System.getProperty("user.dir"), belchers) //Check if both Paths point to the same file println("Using Files.isSameFile() => " + (Files.isSameFile(relativeBeclhers, absoluteBelchers))) >
Using Files.isSameFile() => true

The program uses Files.exists to see if we have a belchers.txt file on the underlying os. If the method returns false, we call makeBelchersFile() on line 24 to create the file. Lines 26 and 27 create two different Path objects to point at the belchers.txt file.

The relativeBelchers is a Path object created using a relative path to the file. The absoluateBelchers object is created with an aboslute path by combining the current working directory with the name of the file. One line 38, we use the Files.isSameFile and pass both of the Path objects to it. Since both of these Paths point at the same file, it returns True.

Methods

exists(path : Path, varages options : LinkOptions) : Boolean

The exists method is used to test if a file exists or not. We can also pass optional LinkOptions that instructs the method on how to handle symbolic links in the file system. For example, if we don’t want to follow links, then pass NOFOLLOE_LNKS.

isSameFile(path : Path, path2 : Path)

Tests if the both path objects point to the same file. It’s the same as checking if path == path2.

Источник

Kotlin проверка существования файла

kotlin

Может ли Kotlin работать без JVM?

Да. Kotlin/Native доступен как часть проекта Kotlin. Он компилирует Kotlin в собственный код, который может работать без виртуальной машины.

Во что компилируется Kotlin?

Kotlin в основном нацелен на JVM, но также компилируется в JavaScript (например, для интерфейсных веб-приложений, использующих React) или нативный код через LLVM (например, для нативных приложений iOS, разделяющих бизнес-логику с приложениями Android).

Котлин убивает Java?

Когда дело доходит до разработки приложений для Android, Java, вероятно, будет первым языком программирования, который придет вам на ум, однако многие ожидают, что Kotlin убьет Java. У Java есть проблемы, которые могут усложнить работу разработчика.

Почему Kotlin не популярен?

Kotlin все еще не очень хорошо зарекомендовал себя. Таким образом, сообщество его разработчиков очень мало по сравнению с другими языками программирования. Колтин тестирует слабые шаблоны, что очень усложняет чтение кода. Высокая кривая обучения Kotlin и смена команд связаны со строгим синтаксисом языка.

Как компилируются файлы Kotlin?

Компилятор Kotlin для JVM компилирует исходные файлы Kotlin в файлы классов Java. Инструментами командной строки для компиляции Kotlin в JVM являются kotlinc и kotlinc-jvm. Вы также можете использовать их для выполнения файлов сценариев Kotlin. В дополнение к общим параметрам компилятор Kotlin/JVM имеет параметры, перечисленные ниже.

Можем ли мы написать API на Котлине?

Многим разработчикам Android программирование на стороне сервера кажется чем-то из другого мира. Ну не беспокойтесь больше! У нашего любимого Kotlin есть решение и для этого.

Источник

Оцените статью