2016-04-07 28 views
0

Uygulama alarak bir not yaratmaya çalışıyorum (ilk Windows Forms uygulaması). Şimdiye kadar bir .txt dosyasını bir RichTextBox'a okumayı başardım. Programın, okunan .txt dosyasının içeriğini içeren .txt dosyasını oluşturup kaydetmesini sağlamaya çalışıyorum. Bu yüzden kullanıcı bir dosyadan metin eklediğinde, içindeki bir not klasöründe yeni bir dosya oluşturur. uygulamanın kök dizini. Lütfen aşağıdaki koduma bakın. Herhangi bir tavsiye büyük takdir edilecektir. ŞerefeDosyayı okuduktan sonra otomatik olarak kaydedemiyorum. C#

private void button1_Click(object sender, EventArgs e) 
    { 
     //read in a .txt file 
     OpenFileDialog op = new OpenFileDialog(); 
     if (op.ShowDialog() == DialogResult.OK) 
     richTextBox1.LoadFile(op.FileName, RichTextBoxStreamType.PlainText); 
     this.Text = op.FileName; 

     string fileName = op.FileName; 

     //create new .txt file contaning module notes 
     System.IO.StreamWriter file = new System.IO.StreamWriter("\\"+fileName); 
     file.WriteLine(fileName); 
     file.Close(); 
    } 
+0

Sorun nedir? Hangi hata (varsa) alıyorsunuz? – ChrisF

+0

Özür dilerim! Aslında yeni bir .txt dosyası oluşturmuyor. Hata yok ... – JonnyAppleseed

+0

@JonnyAppleseed, sonuçta aslında bir sorusu yoksa, onu silmek yararlı olur –

cevap

0
  • bir kullanarak bloğu içinde akışları, dosyaları (IDisposable uygulayan şey) sarın:

using(var myfile = File. CreateText(path)) { myfile.WriteLine("hi"); }

  • yol yanlış
  • olduğu için bir dosya oluşturarak değil
+0

Bunu telefonumda yazdığım için özür dilerim, doğru kod biçimlendirmesini alamıyorum ... – Nathan

1

Test edilmiş ve çalışıyor

//read in a .txt file 
      OpenFileDialog op = new OpenFileDialog(); 
      if (op.ShowDialog() == DialogResult.OK) 
       richTextBox1.LoadFile(op.FileName, RichTextBoxStreamType.PlainText); 
      this.Text = op.FileName; 

      string fileName = Path.Combine(Application.CommonAppDataPath, Path.GetFileName(op.FileName)); 
      File.WriteAllText(fileName, "test");