Zastąpienie danego znaku/lini w otwartym pliku

Zastąpienie danego znaku/lini w otwartym pliku
B1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 70
0

Witam.
Mógłby ktoś podpowiedzieć jak, jeśli się da bezpośrednio zastąpić jeden znak w całym pliku, chce zmienić jeden znak z 0 na 1 jezeli się wykona dana metoda. Próbowałem użyc replace, oraz usunać tą linie i w otwartym pliku Od razu dopisać na to miejsce.
Mniej więcej wywoływałem to tak:

Kopiuj
 file.Replace("0","1")

Oraz

Kopiuj
file.Replace("Tu wpisywałem całą linie jaka się znajduje w pliku txt z 0","A tu tą samą linie tylko, że zamiast 0 było 1") 

Próbowałem też usunąc cały linkZa pomoca line.Remove();

line to moja nazwa strumienia

Jeszcze jedno pytanie jak zawinąc tekst w listboxie. Bo jak wpisze i się nie zmieści to ucina mi tekst. Tak samo ze skrolowanie. Probowalem ustawiac ze jak bedzie już pełny lisbox, żeby przewijało się do wiadomości na samym dole. Wiem, że gdzieś to we właściwościach się robiło, ale jakoś mi nie chce przewijać.

dam1an
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 1589
0
Kopiuj
string text = File.ReadAllText("test.txt");
text = text.Replace("0", "1");
File.WriteAllText("test.txt", text);
B1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 70
0

Czy duzo to nie wiem. Ten plik rosnie z kazdym momentem. Załóżmy, że koło 50 lini mam wyszukiwanie poszczególnych słów więc tylko zamiana mi została napisałem że znajduje ten #Status#i bierze jeden znak właśnie 0 albo 1, więc chodzi tylko o zamianę, to czy będzie przeglądac ten plik pół sekundy czy nawet 5minut na tym poziomie nie będzie miał znaczenia, aby by zmieniało.

dam1an
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 1589
1

50 linii to jest nic. Jeśli ma zmieniać na pewno tylko jedną linię to daj tak:

Kopiuj
            string[] text = File.ReadAllLines("file.txt");
            for (int i = 0; i < text.Length; i++)
            {
                if (text[i].Contains("dam1an"))
                {
                    text[i] = text[i].Replace("Status#0", "Status#1");
                    break;
                }
            }
            File.WriteAllLines("file.txt", text);

Zmieni tą linię gdzie znajduje się słowo dam1an

Jeśli zajdzie potrzeba że ma zmieniać więcej linii to usuń break

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.