Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Přepsání textového souboru pozpátku

V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Frajerskej Tom:26.3.2018 13:07

Ahoj,
zajímalo by mě jak vypadá kód v C#, když by jsem chtěl jeden obsah textového souboru přepsat pozpátku do druhého textového souboru

př:
Dobrý den pane Novák.
-
Novák. pane den Dobrý

Editováno 26.3.2018 13:09
 
Odpovědět
26.3.2018 13:07
Avatar
xpoproci
Člen
Avatar
xpoproci:26.3.2018 14:09

môžeš to skúsiť napríklad takto. S tým predpokladom, že vieš ako sa číta textový súbor.

var text = ""; //data zo suboru
var sb = new StringBuilder("");
foreach(var word in text.Split(' ')){
        sb.Insert(0, word + " ");
}
var result = sb.ToString();

a potom to už len klasicky zapíšeš do súboru.

Editováno 26.3.2018 14:12
Nahoru Odpovědět
26.3.2018 14:09
Motto
Avatar
xpoproci
Člen
Avatar
xpoproci:26.3.2018 14:21

Myslím, že vo výsledku by to mohlo vyzerať takto

var text = "";
var filePath = ""; //cesta k súboru
var savePath = ""; //cesta k ulozeniu

using (var sr = new StreamReader(filePath))
{
        text = sr.ReadToEnd();
}

var sb = new StringBuilder("");
foreach (var word in text.Split(' '))
{
        sb.Insert(0, word + " ");
}
sb.Remove(sb.Length - 1, 1); // odstranenie nadbytocneho whitespacu na konci

using (var sw = new StreamWriter(savePath))
{
        sw.Write(sb.ToString());
        sw.Flush();
}
Editováno 26.3.2018 14:22
Nahoru Odpovědět
26.3.2018 14:21
Motto
Avatar
Roman
Člen
Avatar
Odpovídá na Frajerskej Tom
Roman:26.3.2018 20:04

Nekomu se nechce dělat DU. Pro řešení bych využil zásobník LIFO v C# Stack. Načíst slova do stacku a pak zapsat do nového souboru. Použil bych Linq pro rychlí zápis ze stacku do souboru.

 
Nahoru Odpovědět
26.3.2018 20:04
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.