2016-03-24 5 views
-1

Ich bin auf der Suche nach einer Möglichkeit, mehrere Dateien in Vala zu lesen. Im Internet gibt es ein Beispiel dafür, alle Dateien in einem Ordner zu lesen und sie nach ihrem Typ zu sortieren, aber ich konnte nichts daraus machen, ich versuchte es trotzdem. Ich spreche über: http://www.valadoc.org/#!api=glib-2.0/GLib.Dir und https://wiki.gnome.org/Projects/Vala/GIOSamples, meistens.Mehrere Dateien in Vala lesen

In meinem Ordner habe ich eine Reihe von Dateien und mein vala-Programm. Ich muss alle Dateien in diesem Ordner mit einer bestimmten Dateinamenerweiterung lesen. z.B. Lesen Sie alle TXT-Dateien, bis keine weiteren TXT-Dateien in diesem Ordner vorhanden sind.

Vielen Dank!

Antwort

1

ich es auf diese Weise tun würde ...

void main() 
{ 
    string dir = "."; 
    Dir d; 
    try 
    { 
    d = Dir.open(dir); 
    } 
    catch (FileError e) 
    { 
    stderr.printf("Could not open %s! %s", dir, e.message); 
    return; 
 } 
    unowned string? name; 
    while ((name = d.read_name()) != null) 
    { 
    string path = Path.build_filename(dir, name); 
    if (name.down().has_suffix(".txt") && FileUtils.test(path, FileTest.IS_REGULAR)) 
    { 
     FileStream? f = FileStream.open(path, "r"); 
     if (f == null) 
     { 
     stderr.printf("Error opening %s for reading! %d: %s\n", path, GLib.errno, GLib.strerror(GLib.errno)); 
     return; 
     } 
     /* Read contents from f... */ 
    } 
    } 
}