使用C#实现的简单小说阅读器
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
string path = @"C:\Users\sww\Desktop";//初始路径
string[] dirs = Directory.GetDirectories(path);
for (int i = 0; i < dirs.Length; i++)
{
int count = 0;
if (hassubfile(dirs[i], count))
{
TreeNode node = treeView1.Nodes.Add(Path.GetFileName(dirs[i]));
addnodes(dirs[i], node);
}
}
string[] files = Directory.GetFiles(path,"*.txt");
for (int i = 0; i < files.Length; i++)
{
TreeNode nod = treeView1.Nodes.Add(Path.GetFileName(files[i]));
nod.Tag = files[i];
}
}
private void addnodes(string path, TreeNode node)//使用递归,查找文件夹并添加txt文件到treewiew中!
{
string[] dir = Directory.GetDirectories(path);
for (int i = 0; i < dir.Length; i++)
{
int count = 0;
if (hassubfile(dir[i], count))
{
TreeNode nod = node.Nodes.Add(Path.GetFileName(dir[i]));
addnodes(dir[i], nod);
}
}
string[] file = Directory.GetFiles(path,"*.txt");
for (int i = 0; i < file.Length; i++)
{
TreeNode nod = node.Nodes.Add(Path.GetFileName(file[i]));
nod.Tag = file[i];
}
}
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
if (e.Node.Tag != null)
{
textBox1.Text = File.ReadAllText(e.Node.Tag.ToString(),Encoding.Default);
}
}
private bool hassubfile(string path,int count)//判断文件夹以及其子文件夹是否包含txt文件,使用递归调用;
{
string[] files = Directory.GetFiles(path, "*.txt");
if (files.Length != 0)
{
count += files.Length;
}
string[] dirs = Directory.GetDirectories(path);
for (int i = 0; i < dirs.Length; i++)
{
hassubfile(dirs[i],count);
}
if (count != 0)
{
return true;
}
else return false;
}