Hej alla. Variant på FTP-klient (otestad)FTP till VS2008
Jag behöver ett program som går ut på nätet och hämtar textfiler från en mapp
( på ett webhotell) plockar hem alla och sedan sätterihop dessa till en textfil.
Jag har hittat FTP program för VB6 och äldre C# men jag vill skriva detta i VS2008
och när jag konverterar dessa blir det bara en massa fel.
Jag är naturligtvis ute efter att hitta så mycket code som möjligt för att klara mitt program.
1.
Finns det någon som har en FTP-klient eller vet av ett som är för VS2008 - språk av mindre betydelse.
2.
Finns det någon som har något för VS2008 som löser jobbet att sätta ihop alla textfiler till en?
Tack på för hand
// Jag skriver det i detta forum istället då det misstycktes att det låg i VB allmänt.
Men som sagt om någon kan hjälpa mig vore det underbart, om det är C#, C++, VB eller annat är utan betydelse bara det innefattas under VS2008.
EvaSv: FTP till VS2008
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Web;
using System.Net;
using System.IO;
using ICSharpCode.SharpZipLib.Zip;
using ICSharpCode.SharpZipLib.GZip;
using ICSharpCode.SharpZipLib.Checksums;
namespace FileDownload
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
string filePath;
string fileName;
string ftpServerIP;
string ftpUserID;
string ftpPassword;
private void button1_Click(object sender, EventArgs e)
{
FtpWebRequest reqFTP;
try
{
filePath = "c:/Documents and Settings/user/foldername";
fileName = "file.csv.gz";
ftpServerIP = "ftp.myipishere.com";
ftpUserID = "myuserID";
ftpPassword = "mypassword";
FileStream outputStream = new FileStream(filePath + "\\" + fileName, FileMode.Create);
reqFTP = (FtpWebRequest)FtpWebRequest.Create(new
Uri("ftp://" + ftpServerIP + "/" + fileName));
reqFTP.Method = WebRequestMethods.Ftp.DownloadFile;
reqFTP.UseBinary = true;
reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword);
FtpWebResponse response = (FtpWebResponse)reqFTP.GetResponse();
Stream ftpStream = response.GetResponseStream();
long cl = response.ContentLength;
int bufferSize = 2048;
int readCount;
byte[] buffer = new byte[bufferSize];
readCount = ftpStream.Read(buffer, 0, bufferSize);
while (readCount > 0)
{
outputStream.Write(buffer, 0, readCount);
readCount = ftpStream.Read(buffer, 0, bufferSize);
}
ftpStream.Close();
outputStream.Close();
response.Close();
progressBar1.Maximum = 3;
progressBar1.Minimum = 0;
progressBar1.Value = 0;
progressBar1.Step = 1;
progressBar1.PerformStep();
rtbMain.Text = "Downloaded " + fileName + " to " + filePath + " !";
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
}
För att läsa in filer och sätta ihop dessa kan du kolla på io.streamreader/io.streamwriter ev. i kombination med en stringbuffer