NetHadoop.FSClient.Create C# (CSharp) Method

Create() public method

public Create ( ThriftHadoopFileSystem client, string localPath, string path ) : bool
client ThriftHadoopFileSystem
localPath string
path string
return bool
        public bool Create(ThriftHadoopFileSystem.Client client, string localPath, string path)
        {
            bool result = false;
               if (client != null)
               {
               ThriftHandle th = null;
               FileStream fs = null;
               try
               {

                   //创建一个文件
                   th = client.createFile(new Pathname() { pathname = path }, 1, true, 1024, ConfigHelper.HDFSREPLICATION, 1024*1024*64);

                   UTF8Encoding utf8 = new UTF8Encoding(false,true);

                   fs = new FileStream(localPath, FileMode.Open, FileAccess.Read);

                   byte[] fileBuffer = new byte[1024 * 1024];	// 每次传1MB
                   int bytesRead;
                   while ((bytesRead = fs.Read(fileBuffer, 0, fileBuffer.Length)) > 0)
                   {
                       byte[] realBuffer = new byte[bytesRead];
                       Array.Copy(fileBuffer, realBuffer, bytesRead);
                       //将utf8转为可存储编码
                       byte[] buf = Encoding.Convert(Encoding.GetEncoding("iso-8859-1"), utf8, realBuffer);
                       //发送
                       client.write(th,buf);
                       //清仓缓存
                       Array.Clear(fileBuffer, 0, fileBuffer.Length);
                   }
                   result = true;
               }
               catch (Exception ee)
               {
                   throw ee;
               }
               finally
               {
                   if (th != null)
                       client.close(th);
                   if (fs != null)
                       fs.Close();
               }
               }

               return result;
        }