Загрузка всего файла в память, скорее всего, будет вашим самым быстрым выбором, если размер файла меньше мин (MemoryPageSize, FSBlockSize), обычно 4K
Предполагая, что у вас есть содержимое файла в строке, метинкс использует что-то вроде
int n;
if (content.EndsWith("\r\n0")
{
n=content.Length-3;
content=content.Substring(0,n+2)+"1";
}
else
{
n=content.Length;
content=content+"\r\n1";
}
и запишите строку в файл. Это избавит вас от довольно дорогого Split ()
для имени файла мы продолжаем следующим образом:
int p=content.LastIndexOf('\n',n);
String filename=content.Substring(p+1,n-p);