Apache Commons IO в .Net - PullRequest
       14

Apache Commons IO в .Net

1 голос
/ 21 июля 2009

Существует ли библиотека, подобная Apache Commons IO для .Net?

Ищу следующие функции:

  • IOUtils.toByteArray (поток); * +1006 *
  • IOUtils.toString (поток);
  • FileUtils.write * ();
  • DirectoryWalker.

Ответы [ 2 ]

2 голосов
/ 21 июля 2009

такая функциональность является частью .net. нет необходимости в специальной библиотеке.

примеры: http://www.xefteri.com/articles/show.cfm?id=8 http://aspnet.4guysfromrolla.com/articles/072303-1.aspx

0 голосов
/ 21 июля 2009

Прямой порт не существует, AFAIK, но Apache Commons IO включает в себя целую кучу вещей:

  • Служебные классы - со статическими методами для выполнения общих задач
  • Фильтры - различные реализации файловых фильтров
  • Компараторы - различные реализации java.util.Comparator для файлов
  • Streams - полезные реализации потоков, ридеров и писателей

Вы ищете что-то конкретное?

Обновление: например, функциональность IOUtils.toByteArray (Stream) вы можете использовать эквивалентную

Stream stream;
byte[] bytes;
using (BinaryReader br = new BinaryReader(stream)) {
        bytes = br.ReadBytes(stream.Length);
}

и, конечно же, чтобы получить строку из байтового массива, вам просто нужно декодировать ее, используя соответствующую кодировку:

String s = encoding.GetString(bytes)

где кодировка - это экземпляр System.Text.Encoding, например System.Text.UTF8Encoding. Я не уверен ни в каких библиотеках, которые предоставляют другие функции, которые вы описываете, но их легко написать, используя TextWriter.WriteLine, BinaryWriter.Write, Directory.GetDirectories и Directory.GetFiles, как в в этом примере .

...