Пакет Files
Пакет Files предоставляет классы для работы с файлами и каталогами.
Файлы идентифицируются объектами FilePath, которые представляют собой и путь к файлу, и возможности доступа к файлу по этому пути. Объекты FilePath могут быть использованы с примитивами CreateFile и OpenFile и классом File, чтобы получить ссылку на файл, который может быть использован для записи в файл и/или чтения из него. Он также может быть использован с объектом Directory, чтобы получить ссылку на объект каталога, который может быть использован для операций с каталогами.
Класс FileLines позволяет получать доступ к файлу по одной строке за раз.
Актер FileStream предоставляет возможность асинхронной записи в файл.
Примитив Path может быть использован для выполнения операций, связанных с путями, над строками и символами.
Пример программы
Эта программа открывает файлы, указанные в качестве аргументов командной строки, и выводит их содержимое.
use "files"
actor Main
new create(env: Env) =>
try
for file_name in env.args.slice(1).values() do
let path = FilePath(env.root as AmbientAuth, file_name)?
match OpenFile(path)
| let file: File =>
while file.errno() is FileOK do
env.out.write(file.read(1024))
end
else
env.err.print("Error opening file '" + file_name + "'")
end
end
end
Типы публичного доступа
- примитив Path
- актер FileStream
- интерфейс WalkHandler
- класс FilePath
- класс FileMode
- класс FileLines
- класс FileInfo
- примитив FileCreate
- примитив FileChmod
- примитив FileChown
- примитив FileLink
- примитив FileLookup
- примитив FileMkdir
- примитив FileRead
- примитив FileRemove
- примитив FileRename
- примитив FileSeek
- примитив FileStat
- примитив FileSync
- примитив FileTime
- примитив FileTruncate
- примитив FileWrite
- примитив FileExec
- тип FileCaps
- примитив FileOK
- примитив FileError
- примитив FileEOF
- примитив FileBadFileNumber
- примитив FileExists
- примитив FilePermissionDenied
- тип FileErrNo
- примитив CreateFile
- примитив OpenFile
- класс File
- класс Directory
© 2016-2020, The Pony Developers
© 2014-2015, Causality Ltd.
Licensed under the BSD 2-Clause License.
https://stdlib.ponylang.io/files--index