Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > не читает файл (


Автор: sgrey 23.11.2007, 02:18
вобщем проблема такая - прога должна читать текстовый файл в котором находится список фраз, и склеивать их с заданной фразой и записывает в конечный файл. так вот фразы из файла читаются неполностью. когда прочтётся половина, когда останется 2-3 непрочитанных (не записанных в конечный файл). притом последняя фраза запсывается обрывком, что собственно странно т.к. использую writeline
Код

                FileStream names = new FileStream(filename, FileMode.Open, FileAccess.Read);
                StreamReader fnames = new StreamReader(names);
                string linkfile, tempname;
                tempname = Path.GetFileName(filename);
                linkfile = filename.Substring(0, filename.Length - tempname.Length) + "links.txt";
                FileStream links = new FileStream(linkfile, FileMode.OpenOrCreate, FileAccess.Write);
                    StreamWriter flinks = new StreamWriter(links);
                   
                        string linkPath = txtPath.Text;
                        string fname = fnames.ReadLine(), FullLink = "";
                        while (fname != null)
                        {
                            fname = fnames.ReadLine();
                            FullLink = linkPath + fname;
                            flinks.WriteLine(FullLink);
                                                
                        }

                        names.Close();
                        fnames.Close();
                        links.Close();
                        flinks.Close();

п.с. вначале не читался файл, но я нашёл баг и теперь другая проблема, название редактировать нельзя, так что чтоб темы не плодить - отредактировал эту.

Автор: Zakonnic 23.11.2007, 14:05
Мда. Чудо-код.
Попробуй так smile :
Код

                StreamReader fnames = new StreamReader(filename);
                string linkfile = Path.GetDirectoryName(filename) + "\\links.txt";
                StreamWriter flinks = new StreamWriter(linkfile);
                   
                        string linkPath = txtPath.Text;
                        string fname, FullLink;
                        while ((fname = fnames.ReadLine()) != null)
                        {
                            FullLink = linkPath + fname;
                            flinks.WriteLine(FullLink);                 
                        }

                        flinks.Close();
                        fnames.Close();

Автор: sgrey 23.11.2007, 20:57
Цитата(Zakonnic @ 23.11.2007,  14:05)
Мда. Чудо-код.
Попробуй так smile :

аа, работает пасиб) я просто не писал вообще ничего более полугода, вот и код - "чудо" )))
да и это была тока "бэта-версия" так сказать smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)