Dart.Ftp 名前空間 > Ftp クラス > Put メソッド : Put(String,Int64,StoreType) メソッド |
Public Overloads Function Put( _ ByVal remotePath As String, _ ByVal remoteOffset As Long, _ ByVal storeType As StoreType _ ) As Stream
public Stream Put( string remotePath, long remoteOffset, StoreType storeType )
データ接続を利用するメソッドを呼び出すときは、事前にストリームを閉じる必要があります。コントロール接続を利用するメソッドを呼び出すときにも事前にストリームを閉じることを推奨します。
このメソッドの実行中、DataIsBusyはtrueを返します。
private void processRecords() { // 低レベルストリームを使用してファイルを保存します。 ftp1.Session.RemoteEndPoint.HostNameOrAddress = myServer; ftp1.Session.Username = myUsername; ftp1.Session.Password = myPassword; ftp1.Connect(); ftp1.Authenticate(); // レコードファイルを読み取ってアップロードします。 FileStream file = new FileStream(myRecordsFile, FileMode.Open, FileAccess.Read); Stream stream = ftp1.Put("myRecords.txt", 0, StoreType.Replace); byte[] buffer = new byte[64]; // 各レコードは64バイトですが、区切られていません。 byte[] endOfRecord = System.Text.Encoding.Default.GetBytes("[END OF RECORD]\r\n"); int count = -1; do { count = file.Read(buffer, 0, buffer.Length); stream.Write(buffer, 0, buffer.Length); // データをストリーム送信するとき、各レコードの末尾にタグを付加します。 stream.Write(endOfRecord, 0, endOfRecord.Length); } while (count > 0); stream.Close(); ftp1.Close(); }
Private Sub processRecords() ' 低レベルストリームを使用してファイルを保存します。 ftp1.Session.RemoteEndPoint.HostNameOrAddress = myServer ftp1.Session.Username = myUsername ftp1.Session.Password = myPassword ftp1.Connect() ftp1.Authenticate() ' レコードファイルを読み取ってアップロードします。 Dim file As FileStream = New FileStream(myRecordsFile, FileMode.Open, FileAccess.Read) Dim stream As Stream = ftp1.Put("myRecords.txt", 0, StoreType.Replace) Dim buffer() As Byte = New Byte(63){} ' 各レコードは64バイトですが、区切られていません。 Dim endOfRecord() As Byte = System.Text.Encoding.Default.GetBytes("[END OF RECORD]" & Constants.vbCrLf) Dim count As Integer = -1 Do count = file.Read(buffer, 0, buffer.Length) stream.Write(buffer, 0, buffer.Length) ' データをストリーム送信するとき、各レコードの末尾にタグを付加します。 stream.Write(endOfRecord, 0, endOfRecord.Length) Loop While count > 0 stream.Close() ftp1.Close() End Sub