Čtění všech txt souboru   zodpovězená otázka

VB.NET

Zdravím.

nevím si rady, potřeboval bych tohle:

Přečíst všechny txt soubory ve složce a vypsat v každém souboru třeba 5. řádek někam do listboxu, to už je jedno.

Předem děkuji

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Zase nejaky domaci ukol ? :x

foreach (var fileName in Directory.GetFiles(@"C:\sample\directory", "*.txt")) 
{
   using (var reader = new StreamReader(fileName)) 
   {
      var line = reader.ReadLine();

      for (var i = 1; i <= 5; i++) 
      {
         var output = String.Format("file: {0} - line: {1} - value: {2}", fileName, i, line);
         // add output ...
      }
   }
}
nahlásit spamnahlásit spam 0 odpovědětodpovědět

není to úkol, jen se učím.

Vím, že existuje convertor, ale mohl by jste mi to napsat ve VB.NET, abych to lépe pochopil. :)

nahlásit spamnahlásit spam 0 odpovědětodpovědět

To už snad přepsat zvládnete - jedná se o naprosto základní syntaxi. Tu musí pochopit každý, kdo chce programovat nebo dokonce již programuje.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Máte tam chybu, načítáte pouze první řádek. Asi to mělo být nějak takto:

foreach (string fileName in Directory.GetFiles(@"C:\sample\directory", "*.txt")) 
{
   string output = ReadTopLines(fileName, 5);
   //add fileName, output
}

private static string ReadTopLines(string fileName, int lines)
{
   var sb = System.Text.StringBuilder();

   using (var reader = new StreamReader(fileName))
   {
      for (int i = 0; i < lines; i++) 
      {
         string line = reader.ReadLine();
         if (line == null)
         {
            break;
         }

         sb.AppendLine(line);
      }

      if (!reader.EndOfStream)
      {
         sb.AppendLine("...");
      }
   }

   return sb.ToString();
}
nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback