Example: Seekable streams
public static int main (string[] args) {
File file = File.new_for_path ("my-test.txt");
try {
// Create a file that can only be accessed by the current user:
FileIOStream ios = file.create_readwrite (FileCreateFlags.PRIVATE);
// Write content to file:
OutputStream os = ios.get_output_stream ();
os.write ("My first line\n".data);
os.write ("My second line\n".data);
// Set the file pointer to the beginning of the stream:
assert (ios.can_seek ());
ios.seek (0, SeekType.SET);
// Read content of file:
InputStream @is = ios.input_stream;
DataInputStream dis = new DataInputStream (@is);
string line;
while ((line = dis.read_line ()) != null) {
print (line);
print ("\n");
}
} catch (Error e) {
print ("Error: %s\n", e.message);
}
return 0;
}
valac --pkg gio-2.0 GLib.Seekable.vala
See: