Vala. Creating File Objects
The GIO package in Vala works transparently across different protocols. There is no difference if it is done directly on the file system, or through a protocol like - HTTP, FTP, SFTP, SMB or DAV. This is implemented by a virtual file system layer called GVFS which is designed to be extendable for backends of other protocols.
var data_file = File.new_for_path ("data.txt");
These methods are static factory methods and create instances of classes implementing File.