PDA

Показать полную графическую версию : Копирование файлов с ftp.


Sadhacker
26-05-2012, 21:27
Здравствуйте! Мне нужно написать програмку, которая будет забирать файл с ftp и разбрасывать его по локальной сети. В С# почти ничего не понимаю. Вот по этой статье http://kbss.ru/blog/lang_c_sharp/107.html сделал так чтобы файл копировался с сервера, но мне нужно ещо сравнивать их или по дате или по размеру и копировать только когда файлы разные. Вот здесь я и застрял. Внизу в коментах написано что чтобы узнать размер файла на ftp нужно прописать это "FtpItem item = new FtpItem();
long razmer = item.Size;
Но у меня оно все время присваивает -1. Я не могу разобратся потому что не понимаю этот код. Подскажите плз как и где прописать этот код. И как узнать размер файла на диске и по локалке?

LilLoco
26-05-2012, 23:42
сравнивать их или по дате или по размеру и копировать только когда файлы разные »
В C# существует класс FileInfo. При помощи него и можно узнать дату последнего изменения, а так же размер файла.
Например:

FileInfo FI = new FileInfo("D:\\1.test");
long LengthOf File = FI.Length; // Размер файла в байтах
DateTime Time = FI.LastWriteTime; // время последней записи...

Более подробно тут. (http://msdn.microsoft.com/ru-ru/library/akth6b1k(v=vs.90))
А по поводу ftp с компонентом нужно разбираться...

Delirium
27-05-2012, 06:18
Внизу в коментах написано что чтобы узнать размер файла на ftp нужно прописать это "FtpItem item = new FtpItem();
long razmer = item.Size; »
Перед тем, как вычислять размер, надо заполнить item. Т.к. запись FtpItem item = new FtpItem(); всего лишь создает объект, но не присваивает ему каких либо данных. Это как пустой стакан, который надо наполнить водой, прежде чем вычислять полученный объем в стакане.

Sadhacker
27-05-2012, 22:32
Delirium, Перед тем, как вычислять размер, надо заполнить item »
А как его заполнить? Как это приписать? Кстати если оставлять всё как есть то пишет что не можно присваивать пустое значение. Я в скобках прописывал имя файла на ftp, тогда пишет -1. Можите подробней написать как это сделать правильно?




© OSzone.net 2001-2012