class SSH2::SFTP::File
- SSH2::SFTP::File
- IO
- Reference
- Object
Included Modules
Defined in:
sftp/file.crInstance Method Summary
-
#fsync
This function causes the remote server to synchronize the file data and metadata to disk (like fsync(2)).
-
#read(slice : Slice(UInt8))
Reads at most slice.size bytes from this
IO
into slice. -
#rewind
Rewinds this
IO
. -
#seek(offset)
Seeks to a given offset (in bytes) according to the whence argument.
-
#tell
Same as
pos
. -
#write(slice : Bytes) : Nil
Writes the contents of slice into this
IO
.
Instance methods inherited from module SSH2::SFTP::Node
close
close,
closed?
closed?,
finalize
finalize,
fstat
fstat,
fstat=(value : Attributes)
fstat=
Constructor methods inherited from module SSH2::SFTP::Node
new(sftp : Session, handle)
new
Instance methods inherited from module SSH2::SFTP::Base
closed?
closed?,
finalize
finalize,
session : SSH2::Session
session,
to_unsafe
to_unsafe
Constructor methods inherited from module SSH2::SFTP::Base
new(session, handle)
new
Instance Method Detail
This function causes the remote server to synchronize the file data and metadata to disk (like fsync(2)).
Reads at most slice.size bytes from this IO
into slice.
Returns the number of bytes read, which is 0 if and only if there is no
more data to read (so checking for 0 is the way to detect end of file).
io = IO::Memory.new "hello"
slice = Bytes.new(4)
io.read(slice) # => 4
slice # => Bytes[104, 101, 108, 108]
io.read(slice) # => 1
slice # => Bytes[111, 101, 108, 108]
io.read(slice) # => 0
Rewinds this IO
. By default this method raises, but including types
may implement it.
Seeks to a given offset (in bytes) according to the whence argument.
The IO
class raises on this method, but some subclasses, notable
IO::FileDescriptor
and IO::Memory
implement it.
Returns self
.
File.write("testfile", "abc")
file = File.new("testfile")
file.gets(3) # => "abc"
file.seek(1, IO::Seek::Set)
file.gets(2) # => "bc"
file.seek(-1, IO::Seek::Current)
file.gets(1) # => "c"
Writes the contents of slice into this IO
.
io = IO::Memory.new
slice = Bytes.new(4) { |i| ('a'.ord + i).to_u8 }
io.write(slice)
io.to_s # => "abcd"