I don't think you can create a file along with the directories, try something like         string sFileName = @"china\20030217\1315021.shtml"; //if you are using ASP.NET, use Server.MapPath(@"china\20030217\1315021.shtml");
string sPath = Path.GetDirectoryName(sFileName);
if (!Directory.Exists(sPath))
Directory.CreateDirectory(sPath);................ byte[] content=Encoding.GetEncoding("gb2312").GetBytes(SaveFile); 
FileStream fs= new FileStream(sFileName,FileMode.OpenOrCreate,FileAccess.ReadWrite); 
fs.Write(content,0,content.Length); 
fs.Close();