リモート共有フォルダのファイルを保存します

CMDNetFileHelper

  ///  <まとめ> 
    /// リモート共有フォルダに接続
     ///  </要約> 
    パブリック クラスCMDNetFileHelper 
    { 
        ///  <まとめ> 
        /// リモート共有フォルダに接続
         ///  </要約> 
        ///  <名前= "パス">のparam リモート共有フォルダへのパス</ param>の
        ///  <PARAM NAME = "userNameに"> ユーザー名</ param>の
        ///  <PARAM NAME = "PASSWORD"> パスワード</ param>の
        ///  <戻り値> </戻り値> 
        パブリック 静的 BOOL connectState(文字列のパス、文字列ユーザ名、文字列パスワード)
        { 
            ブールフラグ= ; 
            プロセスPROC = 新しいプロセス()。
            試す
            { 
                proc.StartInfo.FileNameは = " cmd.exeの" ; 
                proc.StartInfo.UseShellExecute = ; 
                proc.StartInfo.RedirectStandardInput = ; 
                proc.StartInfo.RedirectStandardOutput = ; 
                proc.StartInfo.RedirectStandardError = ;
                proc.StartInfo.CreateNoWindow = ; 
                proc.Start(); 
                文字列 dosLine = " ネット利用" +パス+ "  " +パスワード+ " /ユーザー:" + userNameに。
                proc.StandardInput.WriteLine(dosLine)。
                proc.StandardInput.WriteLine(" 終了" );
                しばらく(!proc.HasExited)
                { 
                    proc.WaitForExit(1000年); 
                } 
                ストリング ERRORMSG = proc.StandardError.ReadToEnd()。
                proc.StandardError.Close(); 
                もしストリング.IsNullOrEmpty(ERRORMSG))
                { 
                    フラッグ = 
                } 
                
                { 

                    スロー 新しい例外(ERRORMSGを)
                   
                } 
            } 
            キャッチ(例外例)
            { 
                スローEX。
            } 
            最後に
            { 
                proc.Close()。
                proc.Dispose(); 
            } 
            戻りフラグ。 
        } 

        ///  <要約> 
        ///リモートローカルフォルダにコンテンツを保存し、またはローカルフォルダにリモートからファイルをダウンロード
         ///  </要約> 
        ///  <PARAM NAME =「SRC」> ファイルを保存します「D:\ 1.avi」@:あなたが共有フォルダにファイルを保存する場合、パスは、このパスは、次のような、ローカルファイルへのパスです。</ param>の
        ///  <PARAM NAME =「DST」> フリーファイルのパス名を保存および拡張</ param>の
        ///  <PARAM NAME = "FILENAME"> ファイルを保存するための名前と拡張子</ param>の
        パブリック 静的 ボイドトランスポート(文字列 SRC、文字列の DSTを、文字列filename)で
        { 

            FileStreamをinFileStream = 新規のFileStream(SRC、FileMode.Open)。
            もし(!Directory.Exists(DST))
            { 
                Directory.CreateDirectory(DST)。
            } 
            DST = System.IO.Path.Combine(DSTファイル名)。
            FileStreamをoutFileStream = 新しいFileStreamを(DST、FileMode.OpenOrCreate)。

            バイト [] BUF = 新しい バイト[inFileStream.Length]。

            int型:バイト; 

            一方、((:バイト= inFileStream.Read(BUF、0、buf.Length))> 0 
            { 

                outFileStream.Write(BUF、0 、:バイト)。

            } 

            inFileStream.Flush()。

            inFileStream.Close(); 

            outFileStream.Flush(); 

            outFileStream.Close(); 

        } 
    }

メソッドを呼び出します

 ///  <要約> 
        /// リモートに保存されたファイル
         ///  </要約> 
        ///  <PARAM NAME = "ファイル"> リモート・ファイル</ param>の
        公共の 静的な 無効 SaveRadioFromRemote(文字列のファイル)
        { 
            試み
            { 
                BOOLのステータス= falseに; 

                // 接続共有フォルダ 
                ステータス= CMDNetFileHelper.connectState(RadiosConfig.net_root_file、RadiosConfig.net_user、RadiosConfig.net_pwd);
                 IF (ステータス)
                { 
                    // ディレクトリの共有フォルダ 
                    DirectoryInfo theFolder =新しい新しいDirectoryInfo(RadiosConfig.net_root_file);
                     // 共有フォルダのパスからの相対
                    文字列 filePathに= RadiosConfig.local_file;
                     // 保存したファイルを取得するパス
                    文字列のファイル名= Path.Combine(theFolder.FullName、filePathに);
                     //は、メソッドを実行 
                    CMDNetFileHelperを。交通(RadiosConfig.net_root_file + @ " \ " + ファイル、RadiosConfig.local_file、ファイル); 

                } 
                
                { 
                    スロー 新しい新しい例外(" 接続できませんでした!" ); 
                }
            }
            キャッチ(例外EX)
            { 
                スローEX;
                 // MessageBox.Show( "リモートサーバーアドレスことに注意して、リモートファイルのエラーを保存");
                 // PLog.Log.WriteError(ex.ToString()); 
            } 

        }

 

おすすめ

転載: www.cnblogs.com/daimaxuejia/p/11605978.html