AS/400からRPGのソースプログラムをFTPダウンロードしてみる
やっぱ、AS/400って特殊だよね。変だよね。日本語はEBCDICコードだし。
まぁ、他にとってくる手段はあるんだけど(Rational Developperとかw)
ライブラリPGMLIBCのソースファイルQRPGLESRCにあるメンバーHOGEをダウンロードしてみる。
using System; using System.IO; using System.Net; namespace FTP { class Program { public static void Main(string[] args) { FtpWebRequest reqFTP; reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://xxx.xxx.xxx.xxx//qsys.lib/pgmlib.lib/qrpglesrc.file/hoge.mbr")); reqFTP.Credentials = new NetworkCredential("qsecofr", "qsecofr"); reqFTP.KeepAlive = true; reqFTP.Method = WebRequestMethods.Ftp.DownloadFile; reqFTP.UseBinary = false; reqFTP.Proxy = null; reqFTP.UsePassive = false; reqFTP.Timeout = -1; FtpWebResponse response2 = (FtpWebResponse)reqFTP.GetResponse(); Stream responseStream2 = response2.GetResponseStream(); FileStream writeStream = new FileStream("C:\\hoge.txt", FileMode.Create); int Length = 2048; Byte[] buffer = new Byte[Length]; int bytesRead = responseStream2.Read(buffer, 0, Length); while (bytesRead > 0) { writeStream.Write(buffer, 0, bytesRead); bytesRead = responseStream2.Read(buffer, 0, Length); } writeStream.Close(); response2.Close(); // TODO: Implement Functionality Here Console.Write("Press any key to continue . . . "); Console.ReadKey(true); } } }
ちなみに、最初に書いたけど、EBCDICコードなのでこのままでは日本語表示出来ませんw