我打算尽力描述我想做的事情:) 所以我有一个文本文件,其中包含一些我将解析的组件信息。接下来,我想转到第一个文本文件中每个组件的位置,看看它们依赖于什么。基本上我想创建一个目录树。
Example:
FileA depends on
comp1
comp2
comp3
解析后,我现在有3个FileA所依赖的组件。接下来,我想了解每个组件,看看谁依赖它们。最后我会得到类似的东西:
FileA
comp1
FileB
comp1a
comp2a
FileC
comp1b
comp2
comp3
FileA依赖于comp1,comp2,comp3。第一个依赖关系comp1在FileB中依赖于comp1a& COMP2A。 comp2a依赖于FileC
中显示的comp1b这是我到目前为止解析第一个文本文件
public class readTXT
{
private string _path;
public string Path
{
get { return _path; }
set { _path = value; }
}
public void parseTXT(string path)
{
StreamReader reader = new StreamReader(path);
int lineNumber = 0;
int numberOfDependencies = 0;
string line;
List<string> depends = new List<string>();
while ( (line = reader.ReadLine()) != null )
{
// look for dependencies
string contains = "comp";
string component;
string[] components;
if (line.Contains(contains.ToLower()))
{
numberOfDependencies++;
components = line.Split('=',':');
component = components[1];
}
lineNumber++;
}
reader.Close();
foreach (string location in depends)
{
depends = new List<string>();
parseTXT(location);
}
}
}
文件内容示例:
FileA.txt
comp=javalibaries
comp=graphics
comp=apache
javalibraries.txt (FileB.txt)
comp=json
comp=regex
json.txt (FileC.txt)
comp=javascriptstuff