Ich habe versucht, dies zu schreiben, um meine Ordner aufzulisten, der Append-Teil funktioniert nicht und es schreibt das ganze Ding, auch wenn Ich versuche, etwas anderes aufzulisten, ohne die App zu verlassen. Es gibt den Fehler "Datei wird verwendet", der für mich keinen Sinn ergibt, weil ich am Ende jeder Schleife close() verwendet habe.C# Die Datei verwendet auch mit close(), append funktioniert nicht
Ich habe fast alle Microsoft-Dokumente und viele Beiträge hier überprüft, konnte aber meine Antwort nicht finden.
The Picture that shows the Error I get
Vielen Dank im Voraus!
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
namespace Anime_Lister
{
public partial class Anime0Lister : Form
{
public void Appen()
{
using (System.IO.StreamWriter file = new System.IO.StreamWriter(path0save.Text, true))
{
DirectoryInfo directory = new DirectoryInfo(path0tb.Text);
DirectoryInfo[] directory0Arr = directory.GetDirectories();
foreach (DirectoryInfo dir in directory0Arr)
{
String Parent = Convert.ToString(dir.Parent);
String Name = Convert.ToString(dir.Name);
String Root = Convert.ToString(dir.Root);
File.AppendAllText(path0save.Text, Parent);
File.AppendAllText(path0save.Text, " || ");
File.AppendAllText(path0save.Text, Name + System.Environment.NewLine);
File.AppendAllText(path0save.Text, Root + System.Environment.NewLine);
}
}
}
public void Writer()
{
using (System.IO.StreamWriter file = new System.IO.StreamWriter(path0save.Text))
{
DirectoryInfo directory = new DirectoryInfo(path0tb.Text);
DirectoryInfo[] directory0Arr = directory.GetDirectories();
foreach (DirectoryInfo dir in directory0Arr)
{
String Parent = Convert.ToString(dir.Parent);
String Name = Convert.ToString(dir.Name);
String Root = Convert.ToString(dir.Root);
file.Write(Parent);
file.Write(" || ");
file.WriteLine(Name);
file.WriteLine(Root);
}
}
}
public void Browser()
{
FolderBrowserDialog address = new FolderBrowserDialog();
if (address.ShowDialog() == System.Windows.Forms.DialogResult.OK)
path0tb.Text = address.SelectedPath;
}
public void Browser2()
{
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
path0save.Text = saveFileDialog1.FileName;
}
}
public Anime0Lister()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//_____________________________________________________________List
{
try
{
if (existing0file.Checked == true)
{
Appen();
}
else
{
Writer();
}
}
catch (Exception Fail)
{
MessageBox.Show(Fail.Message);
}
}
}
}
}
sind Sie falsche Methode? Nicht "File.AppendAllText" aber "file.Write"? –
obendrauf in einer anderen Funktion mit dem file.appedalltext –
wenn ja, dann müssen Sie "Datei" an diese Funktion übergeben. Sonst wie willst du es an eine Datei anhängen? Wahrscheinlich erstellen Sie die Datei jedes Mal neu. –