• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed C# FileStream wprowadzanie danych do pliku

Object Storage Arubacloud
+1 głos
471 wizyt
pytanie zadane 26 sierpnia 2020 w C# przez Nabuchadonozor Gaduła (3,120 p.)
zamknięte 30 sierpnia 2020 przez Nabuchadonozor

Serwus Forumowicze,

otóż przesiadłem się z C++ na C# i napotkałem pewną zagwostkę, której nie mogę samemu rozwiązać.

Wie ktoś może, jak przekształcić poniższy kod, tak by można było wprowadzić prosty napis (string) do pliku?

namespace FS
{
    class Program
    {
        static void Main(string[] args)
        {
            string path = AppDomain.CurrentDomain.BaseDirectory + "/test.txt";


            FileStream fs = new FileStream("test.txt", FileMode.OpenOrCreate, FileAccess.Write);

            fs.Close();
        }
    }
}

Tak jak np. w C++ "file << "przykladowy text" << endl; ", tylko jak to zrobić w C#, nie mogę tego rozgryźć...

Proszę o pomoc ;)

komentarz zamknięcia: Wyjaśnione poniżej ;)

2 odpowiedzi

+1 głos
odpowiedź 26 sierpnia 2020 przez VBService Ekspert (254,880 p.)
edycja 28 sierpnia 2020 przez VBService
 
Najlepsza

Do szybkiego zapisuwink

using System;
using System.IO;
using System.Text;
using System.Text.RegularExpressions;

namespace FS
{
    class Program
    {
        static void Main(string[] args)
        {
            string app_path = AppDomain.CurrentDomain.BaseDirectory;
            string path_1 = app_path + "test1.txt";
            string path_2 = app_path + "test2.txt";
            string path_3 = app_path + "test3.txt";
            string path_4 = app_path + "test4.txt";
            string path_5 = app_path + "test5.txt";

            // TEST 1
            string text = "1. Lorem ipsum dolor sit amet, consectetur adipiscing\n";
                   text += "2. Lorem ipsum dolor sit amet, consectetur adipiscing\n";
            File.WriteAllText(path_1, text);

            // TEST 2
            text = @"3. Lorem ipsum dolor sit amet, consectetur adipiscing, vestibulum ante ipsum
                     4. Lorem ipsum dolor sit amet, consectetur adipiscing, vestibulum ante ipsum 
                     5. Lorem ipsum dolor sit amet, consectetur adipiscing, primis in faucibus orci luctus et";
            text = Regex.Replace(text, @"\s+", " ") + "\n";
            text += "6. Vestibulum ante ipsum\n";
            File.WriteAllText(path_2, text);

            // TEST 3
            int a = 10, b = 20;
            double c = 0.5, d = 6.75;
            text = string.Format("Dodawanie: {0} + {1} = {2}", a, b, (a+b)) + "\n";
            text += string.Format("Dzielenie: {0} / {1} = {2}", d, c, (d/c)) + "\n";
            File.WriteAllText(path_3, text);

            // TEST 4
            string[] lines = {"7. Vestibulum ante ipsum","8. primis in faucibus orci luctus et"}; 
            File.WriteAllLines(path_4, lines);

            // TEST 5
            text = "Ąą Ćć Ęę Łł Ńń Óó Śś Żż Źź\n\\n \\ !@#$%^&*()_+=-[]{};:'\",.<>?|/`~";
            byte[] data = Encoding.UTF8.GetBytes(text);
            File.WriteAllBytes(path_5, data);

            Console.WriteLine("Dane zostały zapisane");
            Console.ReadKey();            
        }
    }
}

C# write text files ]
FileStream Vs System.IO.File.WriteAllText when writing to files ]
Break Long code lines in Visual Studio ]
6 Effective Ways To Concatenate Strings In C# ]

komentarz 28 sierpnia 2020 przez Nabuchadonozor Gaduła (3,120 p.)
Dziękuję ślicznie! Zaraz przestudiuję ten kod i linki ;)
1
komentarz 28 sierpnia 2020 przez Nabuchadonozor Gaduła (3,120 p.)
O taką odpowiedź właśnie mi chodziło, trafiłeś w dziesiątkę! Jeszcze raz bardzo dziękuję! :)
–2 głosów
odpowiedź 26 sierpnia 2020 przez JakSky Stary wyjadacz (14,770 p.)
string path = @"C:\temp\file"; // path to file
using (FileStream fs = File.Create(path)) 
{
       
        string dataasstring = "data"; //your data
        byte[] info = new UTF8Encoding(true).GetBytes(dataasstring);
        fs.Write(info, 0, info.Length);
}

Przykład z dokumentacji 

komentarz 28 sierpnia 2020 przez Nabuchadonozor Gaduła (3,120 p.)
I dlatego właśnie poszukuje jak najkrótszych zapisów, które też będą oczywiście czytelne, tak jak w tym przykładzie, który podałeś wyżej :) Ale nadal nie jestem pewien co do odpowiedzi na pytanie dwa komentarze wyżej :/ Ale sugeruję sobie sam odpowiedź, iż jeśli program działa, to using nie będzie potrzebny, tak jak napisał "JakSky" w komentarzu... ;)
komentarz 28 sierpnia 2020 przez JakSky Stary wyjadacz (14,770 p.)

Ale sugeruję sobie sam odpowiedź, iż jeśli program działa, to using nie będzie potrzebny

Tu jesteś w błędzie. Oczywiście, że program będzie działał. Ale przy mocno obniżonej pamięci pojawić się może spadek wydajności. Do czego służy using polecam zajrzeć do dokumentacji.

 

komentarz 28 sierpnia 2020 przez adrian17 Ekspert (346,900 p.)
Niezbyt rozumiem, gdzie tutaj pamięć/wydajność wchodzi w grę.
komentarz 28 sierpnia 2020 przez JakSky Stary wyjadacz (14,770 p.)
Tu jest fajny przykład dlaczego warto używać using:

http://www.pzielinski.com/?p=1050 Co prawda nie dotyczy wydajności(o tym można poczytać w dokumentacji).
komentarz 30 sierpnia 2020 przez Nabuchadonozor Gaduła (3,120 p.)
Dzięki wielkie za linka!

Podobne pytania

0 głosów
1 odpowiedź 165 wizyt
pytanie zadane 17 lipca 2018 w Java przez Kabuuz Bywalec (2,820 p.)
0 głosów
1 odpowiedź 386 wizyt
pytanie zadane 27 czerwca 2022 w C i C++ przez sushi2021 Nowicjusz (160 p.)
0 głosów
2 odpowiedzi 281 wizyt
pytanie zadane 10 listopada 2015 w C i C++ przez Evelek Nałogowiec (28,960 p.)

92,761 zapytań

141,685 odpowiedzi

320,478 komentarzy

62,105 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...