在创建的程序中保存带有数据的文件

Posted

技术标签:

【中文标题】在创建的程序中保存带有数据的文件【英文标题】:Save file with data in created program 【发布时间】:2015-04-03 10:10:06 【问题描述】:

我用自己的扩展名.cpd制作了一个程序。当我安装并运行它时,它工作得很好,唯一的问题是保存数据。我可以通过双击或从我的程序打开文件,但是当我保存时,它保持空白。我使用工具条进行保存/打开。

我使用了这个代码:

private void SaveProjectToolStripMenuItem_Click(object sender, EventArgs e)
        
            SaveFileDialog saveFileDialog1 = new SaveFileDialog();
            saveFileDialog1.Filter = "Cpd File|*.cpd";

            if (saveFileDialog1.ShowDialog() == DialogResult.OK)
            
                using (Stream s = File.Open(saveFileDialog1.FileName, FileMode.CreateNew))
                using (StreamWriter sw = new StreamWriter(s))
                
                    sw.Write(textbox1.Text);
                    sw.Write(combobox1.Text);
                    sw.Close();
                    sw.Dispose();
                    s.Close();
                    s.Dispose();
                
            
        

这里有什么问题?为什么它不接受我的输入?

【问题讨论】:

写完后使用sw.close();sw.Dispose();s.close();s.Dispose(); sw.Write(*****); 行中放置断点并检查:执行它? 是的。它说 Text="200" 。 200 是我的输入 请使用 CloseDispose 方法显示更改的代码 你这样说......它不能放在其他任何地方因为它会超出范围,不会存在.. 【参考方案1】:

编辑: 老兄,您需要在第二次使用时关闭并处理流。

 if (saveFileDialog1.ShowDialog() == DialogResult.OK)
            
                using (Stream s = File.Open(saveFileDialog1.FileName, FileMode.CreateNew))
                
                   using (StreamWriter sw = new StreamWriter(s))
                   
                       sw.Write(textbox1.Text);
                       sw.Write(combobox1.Text);
                       sw.Close();
                       sw.Dispose();
                   
                   s.Close();
                   s.Dispose();
                
            

【讨论】:

坏主意。是否可以写入二进制数据。我们必须找到问题的根源! 我不明白你的意思:是否可以写入二进制数据。你能解释一下吗? in ante stipe Stream 不写入文件。需要处理这个问题!可能将来他(她)会在那里写BinaryData。 如果你想将它与流一起使用,请看这里:string text = textbox1.Text+combobox1.Text; System.IO.StreamWriter 文件 = new System.IO.StreamWriter(@"C:\YourDest\YourFile.cpd"); file.WriteLine(文本);文件。关闭();你满意吗?尝试更简单的事情。 事实上你写的和ante stipe一样。但在她(他)身上,它不起作用。

以上是关于在创建的程序中保存带有数据的文件的主要内容,如果未能解决你的问题,请参考以下文章

如何在应用程序中保存数据?

Java Eclipse:运行带有文件参数和外部JAR的程序

使用 Visual Studio 2012 创建文件的副本

在 Java 应用程序中保存数据的最佳方式是啥?

当应用程序关闭或终止时,将 textField 中的数据保存到文件中

ios 13.1无法将文件保存到App Directory