csharp - Dateien in Ordner auslesen

zokker13

Moderator
Joined
Oct 12, 2008
Messages
6,719
Points
235
Moin ihr hilfsbereiten Helfer. ^^

Ich habe folgendes Problem, ich will Dateien, die den Gesamtwert von 10 Dateien (in diesem Ordner) haben, diese Dateien dann kopieren und in einen anderen Ordner verschieben.
Im Internet habe ich nichts braucbares gefundem, wäre echt nett, wenn mir jemand hilft!
 
Erklär doch bitte erst mal was du genau machen willst, mit "ich will Dateien, die den Gesamtwert von 10 Dateien (in diesem Ordner) haben" herzlich wenig anfangen.
Hast du schon was programmiert ?
 
Schiebt das mal einer ins Hausaufgabenforum?^^
 
Also gut, sagen wir, ich habe diesen Ordner wo nur .txt Dateien drin sind, nun, ich will diese Dateien in ein Programm einlesen.
Aus irgendein Grund funktioniert die Syntaxe aus dem Internet nicht (habs jetzt auch nicht parrat).
Hoffe das war ausreichend! =)
 
C#:
using System.IO
public void GetFiles()
{
    string[] files = Directory.GetFiles("d:\\", "*.txt");
    for (int i = 0; i < files.Length; i++)
    {
        listBox1.Items.Add(files[i]);
        using (StreamReader sr = new StreamReader(files[i]))
        {
            String line;
            while ((line = sr.ReadLine()) != null)
            {
                listBox1.Items.Add(line);
            }
        }
    }
}
Wenn du eine Consolen-Anwedung hast must du listbox1.Items.Add durch Console.WriteLine ersetzen, ansonsten in deiner Form
eine listbox reinklatschen.
Damit werden die Dateien erst mal ausgelesen und der Inhalt angezeigt, was du danach damit machen willst weiss ich nicht so recht;
einfach nur die Dateien 1:1 kopieren oder alles zusammen in eine Datei ?
 
Erneut, das 'Directory.GetFiles' gibt es bei mir nicht, ich will es in einer einfachen C# Anwendung (mit buttons) haben.
Ich verstehs nicht. =/
 
Sollte es aber geben, hast du auch das 'using System.IO' benutzt, dort ist es nämlich drin ;)
 
Ja, habe ich, aber wo soll ich das überhaupt reinkopieren, mein Standartlayout ist ja folgendermaßen:
C#:
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;

namespace Layout
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
    }
}
 
Ja, habe ich, aber wo soll ich das überhaupt reinkopieren, mein Standartlayout ist ja folgendermaßen:
C#:
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 Layout
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
           string[] files = Directory.GetFiles("d:\\", "*.txt");
            for (int i = 0; i < files.Length; i++)
            {
                listBox1.Items.Add(files[i]);
                using (StreamReader sr = new StreamReader(files[i]))
                {
                    String line;
                    while ((line = sr.ReadLine()) != null)
                    {
                        listBox1.Items.Add(line);
                    }
                }
            }
        }
    }
}

dort funktioniert es erst einmal, zumindestens wenn du eine Listbox listbox1 der Form hinzugefügt hast.
Ist natürlich an der Stelle äusserst unelegant :)
besser als eigene Funktion die aufgerufen wird wenn du es willst, als z.B. wenn du auf einen Button klickst.
 
Hey, danke für deinen Code, ich werde ihn gleich ausprobieren, danke schonmal!!
Bin halt nur son dummer programmier Noob, der nur mit der normaler Windowsforms programme schreiben kann. =/
Unsere Leherer wollen auch nicht auf andere Sprachen wechseln. :/

Hat geklappt, danke!
 
Last edited:
Back
Top Bottom