本文测试System.IO命名空间下的类,在不存在的路径下创建文件夹和文件的效果:
首先测试创建文件夹:
System.IO.Directory.CreateDirectory(@"C:\A\B");
上面代码中如果文件夹"C:\A"不存在,那么Directory.CreateDirectory方法也不会报错,Directory.CreateDirectory方法会先创建"C:\A"文件夹,再创建"C:\A\B"文件夹。说明Directory.CreateDirectory方法不要求参数路径上的文件夹都存在,Directory.CreateDirectory方法会依次创建参数路径中的文件夹,并且多次重复创建参数路径中的文件夹"C:\A\B"也不会报错(也就是说,如果文件夹"C:\A\B"本来就已经存在,使用Directory.CreateDirectory方法再次创建文件夹"C:\A\B"也不会报错)。
然后测试创建文件:
System.IO.File.Create(@"C:\A\demo.txt").Dispose();
上面代码中如果文件夹"C:\A"不存在,那么File.Create方法会抛出异常:
System.IO.DirectoryNotFoundException:“Could not find a part of the path 'C:\A\demo.txt'.”
说明File.Create方法必须要求参数路径中的文件夹存在,否则会报错。
然后测试移动文件:
System.IO.File.Move(@"C:\A\demo.txt", @"F:\A\demo.txt");
上面代码中如果文件夹"F:\A"不存在,那么File.Move方法会抛出异常:
System.IO.DirectoryNotFoundException:“Could not find a part of the path.”
说明File.Move方法必须要求第二个参数destFileName路径中的文件夹存在,否则会报错,当然第一个参数sourceFileName路径中的文件也必须存在。
然后测试复制文件:
System.IO.File.Copy(@"C:\A\demo.txt", @"F:\A\demo.txt");
上面代码中如果文件夹"F:\A"不存在,那么File.Copy方法会抛出异常:
System.IO.DirectoryNotFoundException:“Could not find a part of the path 'F:\A\demo.txt'.”
说明File.Copy方法必须要求第二个参数destFileName路径中的文件夹存在,否则会报错,当然第一个参数sourceFileName路径中的文件也必须存在。