Vala列表文件夹&;子文件夹内容
我使用此代码,以树状视图的形式列出我的文件夹内容Vala列表文件夹&;子文件夹内容,vala,Vala,我使用此代码,以树状视图的形式列出我的文件夹内容 try { string directory = "/home/malte/.password-store/"; Dir dir = Dir.open (directory, 0); string? name = null; while ((name = dir.read_name ()) != null) { string path = Path.
try {
string directory = "/home/malte/.password-store/";
Dir dir = Dir.open (directory, 0);
string? name = null;
while ((name = dir.read_name ()) != null) {
string path = Path.build_filename (directory, name);
if (FileUtils.test (path, FileTest.IS_REGULAR)) {
list_store.append (out iter);
list_store.set (iter, 0, name);
}
}
} catch (FileError err) {
stderr.printf (err.message);
}
这真的非常有效。但我也想列出我的子文件夹内容。子文件夹中也有文件夹。谁能告诉我怎么做
谢谢只需将列出的文件设置为递归调用自身的函数即可 伪代码:
void list_files_recursive (string dir, List<string> filenames) {
foreach (filename in dir) {
if (file_is_dir(filename)) {
list_files_recursive (filename, filenames);
} else {
filenames.add (filename);
}
}
}
void list\u files\u recursive(字符串目录,列表文件名){
foreach(目录中的文件名){
if(文件名为dir){
列出递归文件(文件名、文件名);
}否则{
filenames.add(文件名);
}
}
}
至于如何将它们添加到树存储而不是列表存储,这是一个不同的问题,但我确信在某些地方有一些Vala和树存储的示例