Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class File {
- static const int FOLDER = 1;
- static const int FILE = 2;
- int type;
- String name;
- List<File> children = [];
- File();
- List<String> findFile(String pattern, [String start = '']) {
- final List<String> ret = [];
- final newStart = start.isNotEmpty ? '$start/$name' : name;
- if (name.contains(pattern)) {
- ret.add(newStart);
- }
- for (final el in children) {
- var x = el.findFile(pattern, newStart);
- ret.addAll(x);
- }
- return ret;
- }
- }
- void main() {
- final f = File()
- ..name = ''
- ..children = [
- File()
- ..name = 'pesho'
- ..children = [File()..name = 'code.java'],
- File()..name = 'code2.java'
- ];
- final res = f.findFile('.java');
- print(res);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement