none
C# TXT 重複寫入問題 RRS feed

  • 問題

  • 預想的結果

    當我開啟圖片檔時,跑到FORM2 對此圖片命名與儲存到指定路徑,並把圖片名稱與路徑寫入txt檔
    並返回form1操作讀取圖片

    ex:

    text01            C:\\text01.jpg

    text02            C:\\text02.jpg

    實際結果

    它不斷只覆寫第一行,並無換行結果
    ex:
    text01            C:\\text01.jpg   //只有這行
    如果再命名別的
    text02            C:\\text02.jpg  //就直接覆寫掉前一行

    程式碼如下 不知哪裡有誤,請大大幫我看一下

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.IO;

    namespace pictest
    {
        public partial class Form2 : Form
        {
            public Form2(Image pic)
            {
                imageROI = pic;
                InitializeComponent();
            }
            Image imageROI;
            private void Form2_Load(object sender, EventArgs e)
            {
                picturebox1.Image = imageROI;
            }

            private void button1_Click (object sender, EventArgs e)
            {
                try
                {

                    if (picturebox1 != null)
                    {
                        if (textBox1.Text != "")
                        {
                            picturebox1.Image.Save("C:\\pictest\\" + textBox1.Text + ".jpg");  
                            StreamWriter data = new StreamWriter("C:\\pictest\\date.txt",true);
                            data.WriteLine(textBox1.Text + "        " + textBox1.Text + ".jpg" + "\r\n" ); 
                            data.Close();
                            MessageBox.Show("Save OK");
                            
                        }
                        else
                        {
                            MessageBox.Show("未命名");
                        }
                    }
                }
                catch (Exception error)
                {
                    MessageBox.Show(error.Message);
                }
            }

            private void button2_Click(object sender, EventArgs e)
            {
                 picturebox1 = null;
                textBox1 = null;
                this.Close();
            }

            private void textBox1_TextChanged(object sender, EventArgs e)
            {

            }
        }
    }




    2014年7月5日 上午 04:39

解答

所有回覆