Zapisanie pliku w konkretne miejsce.

Odpowiedz Nowy wątek
2018-05-16 16:48
0

Bazując się na tym linku:
https://stackoverflow.com/que[...]vert-streamreader-to-a-string
nie bardzo wiem jak przerobić swoją linię na to, żeby przekonwertować typ.

StreamReader sciezka = Path.Combine(sciezkadoZapisu, "SubFolder");  // sciezkadoZapisu to StreamReader, a ja potrzebuję żeby był stringiem
edytowany 2x, ostatnio: furious programming, 2018-05-16 17:58

Pozostało 580 znaków

2018-05-16 17:08
1

Pokaż cały kod, bo coś tu namieszane jest.

Pozostało 580 znaków

2018-05-16 17:09
0

No nie.

Pozostało 580 znaków

2018-05-16 17:10
0

@adam.filipek:

string liniaTekstu;
            StreamReader plik = ZarzadzaniePlikami.WczytajPlik(sciezkaPliku);
            StreamReader sciezkadoZapisu = ZarzadzaniePlikami.WczytajPlik(sciezkaPliku);
            string sciezka = Path.Combine(sciezkadoZapisu, "SubFolder");
            while ((liniaTekstu = plik.ReadLine()) != null)
            {
                if (usunKomentarze == true)
                {
                    int indexKomcia = liniaTekstu.IndexOf("//");
                    if (indexKomcia != -1)
                    {
                        liniaTekstu = liniaTekstu.Substring(0, indexKomcia);
                    }
                }
            }
            Directory.CreateDirectory(sciezka);
            plik.Close();
        }
edytowany 3x, ostatnio: furious programming, 2018-05-16 17:59

Pozostało 580 znaków

2018-05-16 17:17
1
string sciezka = Path.Combine(sciezkadoZapisu.ReadToEnd(), "SubFolder");
edytowany 3x, ostatnio: furious programming, 2018-05-16 17:59

Pozostało 580 znaków

2018-05-16 17:26
0

@adam.filipek:
A to? Chciałem zrobić taki myk

string sciezka = Path.Combine(sciezkadoZapisu.ReadToEnd(), "SubFolder", Encoding.UTF8);

jednak zaś krzyczy, że konwertowanie. Jakieś pomysły?

edytowany 1x, ostatnio: furious programming, 2018-05-16 17:59
Ja mam taki pomysł, żebyś nie wrzucał screenów z kodem tylko wkleił tekst jak człowiek. - jacek.placek 2018-05-16 17:33

Pozostało 580 znaków

2018-05-16 17:32
1

Przerzuć zawartość StreamReadera do tymczasowego stringa i podejrzyj debugerem co jest w tym stringu.

string tmpStr = sciezkadoZapisu.ReadToEnd();

a coś takiego:

string sciezka = Path.Combine(sciezkadoZapisu.ReadToEnd(), "SubFolder", Encoding.UTF8);

nie może zadziałać, Path.Combine przyjmuje dwa argumenty (stringi)

edytowany 3x, ostatnio: furious programming, 2018-05-16 17:59
Ale mówiąc o przerzuceniu wartości StreamReadera masz na myśli: StreamReader ? - Tomasz Garwal 2018-05-16 17:43

Pozostało 580 znaków

2018-05-16 17:38
1

Dziwne myki chcesz robić.
Chodzi Ci o odczyt pliku, przetworzenie zawartości i zapisanie do nowej lokalizacji? I problem jest z określeniem ścieżki zapisu?
Ścieżkę zapisu określaj na podstawie ścieżki odczytu i podfolderu (bo chyba o to Ci chodzi). Ze śceiżki odczytu odczytaj tylko folder i wtedy Combine z "SubFolder".
No i obsługa samego zapisywania.

O, nie widziałem odpowiedzi. Tylko... No właśnie, żeby to tylko było. Pogubiłem się :< - Tomasz Garwal 2018-05-16 17:49

Pozostało 580 znaków

2018-05-16 17:42
1

Może właśnie zacznij od tego, co chcesz osiągnąć.

Pozostało 580 znaków

2018-05-16 17:47
0

Ogólnie zamysł jest taki, chcę zapisywać mój plik do danego folderu. Do folderu, który się tworzy w miejscu, z którego wziąłem plik.

Dobrze napisał tam ktoś wyżej, otworzyć plik, przetworzyć i zapisać w nowym folderze w lokacji tam skąd otworzyłem - Tomasz Garwal 2018-05-16 17:49

Pozostało 580 znaków

2018-05-16 17:56
3
            OpenFileDialog ofd = new OpenFileDialog();
            if (ofd.ShowDialog() != DialogResult.OK) return;           
 
            string filePath = ofd.FileName; // scieżka do Twojego pliku
            string directoryPath = Path.GetDirectoryName(filePath); // scieżka do folderu gdzie znajduje się dany plik
            string subdirectoryPath = Path.Combine(directoryPath, "subdirectory"); // sciezka folderu wewnątrz folderu z plikiem
            if (!Directory.Exists(subdirectoryPath)) Directory.CreateDirectory(subdirectoryPath); // tworzenie subfolderu
            string newFilePath = Path.Combine(subdirectoryPath, "newFileName"); // ścieżka do nowego pliku
 

filePath inicjujesz inaczej, to tylko przykład, no i oczywiście pierwsze linie można skrócić do:

 string subdirectoryPath = Path.Combine(Path.GetDirectoryName(filePath), "subdirectory");
edytowany 7x, ostatnio: adam.filipek, 2018-05-16 18:23
obadam, dziękuję - Tomasz Garwal 2018-05-16 17:59

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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