Tworzenie plików

0

Witam, mam statyczną klasę Add, która generuje nazwy plików. Główny kod programu przegląda listę obiektów, i dla każdego obiektu wywołuje metodę CreateDocument, która ma tworzyć pliki xml. Na chwilę obecną podczas próby tworzenia pliku dostaję error, a jeżeli zamienię

StreamWriter(Add.GetNumber())

na StreamWriter("test.xml");

to działą :/
Proszę o pomoc w rozwiązani problemu.

```csharp
 public static class Add
    {
        public static int number;

        public static string GetNumber()
        {
            string nr = "LMSBO/2010/";
            
            if (Add.number < 10)
                nr += "00000" + Add.number;

            if (Add.number >= 10 && Add.number < 100)
                nr += "0000" + Add.number;

            if (Add.number >= 100)
                nr += "000" + Add.number;

            Add.number++;

            nr += ".xml";

            return nr;
        }
}
 public void CreateDocument()
        {
            string xml = "<?xml version=\"1.0\" encoding=\"windows-1250\"?>\n";
            xml += "<ROOT xmlns=\"http://www.cdn.com.pl/optima/dokument\">";
            
            try
            {
                //string sciezka = Add.GetNumber();
               //string  sciezka = "r4.xml";
                StreamWriter sw = new StreamWriter(Add.GetNumber());
                sw.WriteLine(xml);

                sw.Close();
                
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
            }

        }
0

Przeczytaj uważnie wyjątek - na pewno jest tam napisane, że znak '/' nie może być w nazwie pliku.

0

A jeżeli musi być? Jest jakieś rozwiązanie? np. pobranie z tablicy znaku?

0

Slash jest separatorem katalogów, nie może go być w nazwie pliku. To ograniczenie systemu operacyjnego/plików, a nie języka.
Jeśli chcesz, to możesz go sobie zamienić na jakiś ustalony przez siebie ciąg znaków.

1 użytkowników online, w tym zalogowanych: 0, gości: 1