流_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 流

 2013/10/11 23:21:24  软谋在线软件培训  博客园  我要评论(0)
  • 摘要:一、递归加载目录树1stringpath=@"D:\A";23publicForm1()45{67LoadTree(path,null);89}1011publicvoidLoadTree(stringpath,TreeNodenode)1213{1415//将指定路径下的所有子目录保存在数组中1617string[]dirs=Directory.GetDirectories(path);1819foreach(stringdirindirs)2021
  • 标签:

一、递归加载目录树

class="code_img_closed" src="/Upload/Images/2013101123/0015B68B3C38AA5B.gif" alt="" />logs_code_hide('50e1be65-3ba9-46db-92d0-8ca9ec2382e7',event)" src="/Upload/Images/2013101123/2B1B950FA3DF188F.gif" alt="" />
 1 string path=@"D:\A";
 2 
 3 public Form1()
 4 
 5 {
 6 
 7 LoadTree(path,null);
 8 
 9 }
10 
11 public void LoadTree(string path,TreeNode node)
12 
13 {
14 
15 //将指定路径下的所有子目录保存在数组中
16 
17 string[] dirs=Directory.GetDirectories(path);
18 
19 foreach(string dir in dirs)
20 
21 {
22 
23    TreeNode node1=new TreeNode(Path.GetFileName(dir));
24 
25    if(node==null)
26    {
27 
28    tvData.Nodes.Add(node1);//加到根目录
29 
30    }
31 
32    else
33 
34    {
35 
36     node.Nodes.Add(node1);
37 
38    }
39 
40    //如果dir下还有子目录
41 
42    if(Directory.GetDirectories(dir).Length>0)
43 
44    {
45 
46        LoadTree(dir,node1);
47 
48    }
49 
50 }
51 
52 }
View Code

二、文件流读写操作

 

一、序列化/反序列化

 1 class Person
 2 
 3 {
 4 
 5 public int Age{get;set;}
 6 
 7 public string Name{get;set;}
 8 
 9 }
10 
11 class Program
12 
13 {
14 
15   Person p=new Person();
16 
17   if(File.Exists("1.txt"))
18 
19   {
20 
21     string[] lins=File.ReadAllLines("1.txt",Encoding.Default);
22 
23     p.Age=int.Parse(lines[0]);
24 
25     p.Name=lines[1];
26 
27   }
28 
29   else
30 
31   {
32 
33     p.Age=17;
34 
35     p.Name="jack";
36 
37     File.WriteAllLines("1.txt",new string[]{p.Age.ToString(),p.Name});//写入当前程序集的bin文件夹中
38 
39   }
40 
41 Console.WriteLine(p.Age+":"+p.Name);
42 
43 Consoles.ReadKey();
44 
45 }
View Code

如果此时Person有100个字段怎么办?此时就要用序列化(将对象的状态持久化到某一个设备中)

 1 [Serializable]//表示Person可被序列化
 2 
 3 class Person
 4 
 5 {
 6 
 7 public int Age{get;set;}
 8 
 9 public string Name{get;set;}
10 
11 }
12 
13 class Program
14 
15 {
16 
17 static void Main(string[] agrs)
18 
19 {
20 
21 Person p=new Person(){Age=12,Name="rose"};
22 
23 //序列化
24 
25 System.Runtime.Serialization.Formatters.Binary.BinaryFormatter bf=new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
26 
27 using(FileStream fs=new FileStream("se.bin",FilreMode.Create))
28 
29 {
30 
31  bf.Serialize(fs,p);//把p的状态保存到了se.bin中,以二进制的方式序列化,而不是文本文档
32 
33 }
34 
35 //反序列化
36 
37 System.Runtime.Serialization.Formatters.Binary.BinaryFormatter bf=new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
38 
39 using(FireStream fs=new FileStream("se.bin",File.Open))
40 
41 {
42 
43   object obj=bf.Deserialize(fs);//反序列化
44 
45   Person p=obj as Person;
46 
47   Console.WriteLine(p.Name+":"+p.Age);
48 
49 }
50 
51 }
52 
53 }
View Code

 

  • 相关文章
发表评论
用户名: 匿名