Aktywne Wpisy
![CalibraTeam](https://wykop.pl/cdn/c0834752/95d7fdbcbbb0eae8772555d4baecbccbcc4aa88d961020afaae5687463f26d6d,q60.png)
CalibraTeam +109
Ceny mieszkań (czy innych nieruchomości) kosmiczne, ceny samochodów nowych kosmiczne (a ceny używanych chore). Czy też macie wrażenie, że wszyscy dookoła zarabiają po 15, 20k na rękę a tylko Wy jesteście robieni w bambuko?
Jako kawaler 7.5k zł na rękę czuję się jak śmieć i żul, biedak, którego na nic nie stać.
#gorzkiezale #zarobki #pytanie #pracbaza #praca
Jako kawaler 7.5k zł na rękę czuję się jak śmieć i żul, biedak, którego na nic nie stać.
#gorzkiezale #zarobki #pytanie #pracbaza #praca
#zdrowie #pytaniedoeksperta zanim pójdę do lekarza warto zapytać na wykopie 😉, wie ktoś czym są te czerwone plamy, suche i delikatnie swędzi, robi się tez małe pęcherzyki. Moze ktoś polecić jakiąś maść? Druga ręka Ok
![cmdenergy - #zdrowie #pytaniedoeksperta zanim pójdę do lekarza warto zapytać na wykop...](https://wykop.pl/cdn/c3201142/c829873e811df309d39769fef46bdb520421abc4106bbe15bf8c6f1f27302486,w150.jpg)
źródło: Zdjęcie z biblioteki
Pobierz
Mireczki pewien mały problem w C# mam program który czyta wyrazy z jednego pliku i zapisuje je w odwrotnej kolejności. Robię to w ten sposób jednak po zamknięciu pliku nie mogę go znowu zainicjalizować ponieważ wyskakuje błąd "Plik jest używany przez inny proces"
public static void Odwroc(string nazwa1, string nazwa2)
{
int licznik = 0;
StreamWriter sw = null;
StreamReader sr = null;
sr = new StreamReader(nazwa1);
sw = new StreamWriter(nazwa2);
while(!sr.EndOfStream)
{
sr.ReadLine();
licznik++;
}
sr.Close();
sr = new StreamWriter(nazwa2);
string[] tablica = new string[licznik];
for (int i = 0; i < licznik; i++)
{
tablica[i] = sr.ReadLine();
}
sr.Close();
for (int i = licznik-1; i > -1 ; i--)
{
sw.WriteLine(tablica[i]);
}
sw.Close();
}
Jak to zrobić
StreamReader sr = null;
sr = new StreamWriter(nazwa2);
sr to StreamReader, a próbujesz tworzyć obiekt StramWriter.
public static void Odwroc(string nazwa1, string nazwa2)
{
string[] lines = File.ReadAllLines (nazwa1);
StreamWriter sw = new StreamWriter (nazwa2);
for(int i=lines.Length-1; i>=0; i--)
{
sw.WriteLine (lines [i]);
}
sw.Flush ();
sw.Close ();
}
Dobrze by było na początku sprawdzić plik istnieje.
Udało mi się wskaźnik zresetować używając seeka, jednak teraz pojawił mi się taki problem że do tablicy wyrazy są zapisywane bez polskich znaków. Problem występuje tylko przy używaniu StreamWritera
Tutaj masz swoją pierwszą metodę:
public static void Odwroc(string nazwa1, string nazwa2)
{
int licznik = 0;
StreamWriter sw = null;
StreamReader sr = null;
sr = new StreamReader(nazwa1,System.Text.Encoding.UTF8);
sw = new StreamWriter(nazwa2,false,System.Text.Encoding.UTF8);
while(!sr.EndOfStream)
{
sr.ReadLine();
licznik++;
}
sr.Close();
sr = new StreamReader(nazwa1,System.Text.Encoding.UTF8);
string[] tablica = new string[licznik];
for (int i = 0; i < licznik; i++)
{
tablica[i] = sr.ReadLine();
}
sr.Close();
for (int i =
string[] wejscie = System.IO.File.ReadAllLines(plik);
Syste.IO.file.WriteAllLines(plik,wejscie.Reverse());
tego akurat nie wiem.
Metoda podana przez @BoKoR: @freerunner9: zadziala dla stosunkowo małych plików. Jakbym wrzucił kilku gigowy plik to takie coś by trwało wieczność lub w ogóle by się nie wykonało. Ale jeśli to tylko jakieś zadanie do szkoły/studia/domowy program któremu taka sytuacja nigdy się nie wydarzy, to rozwiązanie (szczególnie @freerunner9) 100% poprawne.
@freerunner9 - using nie jest taki niezbędny, skoro wywłuje tam
Close
. Dla porządku jedynie te Closeusing
jest fajny, pewnie, estetyczny i pewny, ale on nie robi nic ponadtry...finally
+Dispose
(jeśli nie przypisałeś null). Dlatego generalnie popieram, używajusing
wszędzie, ale różnicy nie ma.public static void Odwroc(string nazwa1, string nazwa2)
{
int licznik = 0;
StreamWriter sw = null;
StreamReader sr = null;
sr = new StreamReader(nazwa1, Encoding.UTF8);
sw = new StreamWriter(nazwa2, false, Encoding.UTF8);
while(!sr.EndOfStream)
{
sr.ReadLine();
licznik++;
}
sr.Close();
sr = new StreamReader(nazwa1, Encoding.UTF8);
string[] tablica = new string[licznik];
for (int i = 0; i < licznik; i++)
a jakie kodowanie masz w pliku źródłowym?
Nie wiem czym klepiesz, ale zarówno VS jak i MonoDevelop mają podpowiedzi.
źródło: comment_aHlroHDMNoBJi4fWvexRXhfb4M7UwMOj.jpg
PobierzKodowany w Ansi jest