equal
deleted
inserted
replaced
8 |
8 |
9 import java.util.regex.Pattern |
9 import java.util.regex.Pattern |
10 import java.util.Locale |
10 import java.util.Locale |
11 import java.io.{BufferedWriter, OutputStreamWriter, FileOutputStream, |
11 import java.io.{BufferedWriter, OutputStreamWriter, FileOutputStream, |
12 BufferedInputStream, FileInputStream, BufferedReader, InputStreamReader, |
12 BufferedInputStream, FileInputStream, BufferedReader, InputStreamReader, |
13 File, IOException} |
13 File, FileFilter, IOException} |
14 |
14 |
15 import scala.io.Source |
15 import scala.io.Source |
16 import scala.util.matching.Regex |
16 import scala.util.matching.Regex |
17 import scala.collection.mutable |
17 import scala.collection.mutable |
18 |
18 |
94 def write_file(file: File, text: CharSequence) |
94 def write_file(file: File, text: CharSequence) |
95 { |
95 { |
96 val writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file), charset)) |
96 val writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file), charset)) |
97 try { writer.append(text) } |
97 try { writer.append(text) } |
98 finally { writer.close } |
98 finally { writer.close } |
|
99 } |
|
100 |
|
101 def find_files(start: File, ok: File => Boolean): List[File] = |
|
102 { |
|
103 val files = new mutable.ListBuffer[File] |
|
104 val filter = new FileFilter { def accept(entry: File) = entry.isDirectory || ok(entry) } |
|
105 def find_entry(entry: File) |
|
106 { |
|
107 if (ok(entry)) files += entry |
|
108 if (entry.isDirectory) entry.listFiles(filter).foreach(find_entry) |
|
109 } |
|
110 find_entry(start) |
|
111 files.toList |
99 } |
112 } |
100 |
113 |
101 |
114 |
102 /* shell processes */ |
115 /* shell processes */ |
103 |
116 |