はじめまして。VB.NET初心者ですが、質問させてください。
現在私はVB.NETでFTPクライアントを作成しています。
目的は、既存のFTPサーバ上のテキストファイルを読み込み、
テキストファイルの内容をローカル(クライアント側)で
画面出力することです。
そこでですが、FTPサーバへの接続とログオンまでは何とかできたのですが、
テキストファイルの読み込みがどうしてもできません。
テキストファイルを開く部分に関しては現在、
テキストファイルを「test.txt」として、以下のようにしています。
Dim fs As New System.IO.BinaryReader( _
new System.IO.FileStream( _
"test.txt", _
System.IO.FileMode.Open, _
System.IO.FileAccess.Read) )
これ自体も正しいかどうか疑わしいですが(特にFileStreamの第一引数)、
おそらく開く前にFTPサーバに対して何か命令をしなきゃいけないような
気がします。しかし、その内容もちょっとわかりません・・・。
この掲示板に集う皆様にとっては初歩的な質問かもしれませんが、
どうかご教授をお願いします。
> そこでですが、FTPサーバへの接続とログオンまでは何とかできたのですが、
どのようにして接続・ログオンされたのでしょうか?
> テキストファイルの読み込みがどうしてもできません。
読み込みたいファイルは、FTPサーバから正しくダウンロードできていますか?
> Dim fs As New System.IO.BinaryReader( _
テキストファイルを、バイナリで開いているのは何故でしょうか?
テキストであれば、StreamReaderクラスの方が扱いやすいかと思いますよ。
http://www.atmarkit.co.jp/fdotnet/vb6tonet/vb6tonet08/vb6tonet08_01.html
> これ自体も正しいかどうか疑わしいですが(特にFileStreamの第一引数)、
できれば、ファイル名だけで指定するのではなく、ダウンロードしたファイルの
フルパスを指定された方が良いかと思います。
さっそくのレス、どうもありがとうございます>魔界の仮面弁士さん
>どのようにして接続・ログオンされたのでしょうか?
SocketクラスのConnectメソッドを使い、
その後、SendメソッドでFTPコマンドを送信することで接続しています。
ログオン時には、接続したFTPサーバに
ユーザーアカウントとパスワードを送信しています。
>読み込みたいファイルは、FTPサーバから正しくダウンロードできていますか?
ファイルの内容はダウンロードできていない可能性が高いです。
FTPへの接続・ログオンより後の段階で詰まっていますので・・・。
>テキストファイルを、バイナリで開いているのは何故でしょうか?
特に意味はありません。
私が用いている参考書に、FTPサーバ上のファイルそのものを
ダウンロードする例がありまして、
その例がバイナリで落としていましたので、流用しました。
>テキストであれば、StreamReaderクラスの方が扱いやすいかと思いますよ。
ありがとうございます。さっそく試してみます。
>できれば、ファイル名だけで指定するのではなく、ダウンロードしたファイルの
>フルパスを指定された方が良いかと思います。
わかりました。
BinaryWriterで内容をダウンロードし、受信バッファから変換読み出しを行えば、解決しました。
どうもありがとうございました!
ツイート | ![]() |