VB.NET、FTPサーバ上のテキストファイルを読むには?

解決


たっくん  2004-11-04 05:21:50  No: 86461

はじめまして。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サーバに対して何か命令をしなきゃいけないような
気がします。しかし、その内容もちょっとわかりません・・・。

この掲示板に集う皆様にとっては初歩的な質問かもしれませんが、
どうかご教授をお願いします。


魔界の仮面弁士  2004-11-04 11:47:40  No: 86462

> そこでですが、FTPサーバへの接続とログオンまでは何とかできたのですが、
どのようにして接続・ログオンされたのでしょうか?

> テキストファイルの読み込みがどうしてもできません。
読み込みたいファイルは、FTPサーバから正しくダウンロードできていますか?

> Dim fs As New System.IO.BinaryReader( _
テキストファイルを、バイナリで開いているのは何故でしょうか?
テキストであれば、StreamReaderクラスの方が扱いやすいかと思いますよ。
http://www.atmarkit.co.jp/fdotnet/vb6tonet/vb6tonet08/vb6tonet08_01.html

> これ自体も正しいかどうか疑わしいですが(特にFileStreamの第一引数)、
できれば、ファイル名だけで指定するのではなく、ダウンロードしたファイルの
フルパスを指定された方が良いかと思います。


たっくん  2004-11-04 17:39:37  No: 86463

さっそくのレス、どうもありがとうございます>魔界の仮面弁士さん

>どのようにして接続・ログオンされたのでしょうか?

SocketクラスのConnectメソッドを使い、
その後、SendメソッドでFTPコマンドを送信することで接続しています。
ログオン時には、接続したFTPサーバに
ユーザーアカウントとパスワードを送信しています。

>読み込みたいファイルは、FTPサーバから正しくダウンロードできていますか?

ファイルの内容はダウンロードできていない可能性が高いです。
FTPへの接続・ログオンより後の段階で詰まっていますので・・・。

>テキストファイルを、バイナリで開いているのは何故でしょうか?

特に意味はありません。
私が用いている参考書に、FTPサーバ上のファイルそのものを
ダウンロードする例がありまして、
その例がバイナリで落としていましたので、流用しました。

>テキストであれば、StreamReaderクラスの方が扱いやすいかと思いますよ。

ありがとうございます。さっそく試してみます。

>できれば、ファイル名だけで指定するのではなく、ダウンロードしたファイルの
>フルパスを指定された方が良いかと思います。

わかりました。


たっくん  2004-11-05 20:28:51  No: 86464

BinaryWriterで内容をダウンロードし、受信バッファから変換読み出しを行えば、解決しました。
どうもありがとうございました!


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加