Leta filer och läsa dem.
Halloj.
Finns det något enkelt (eller i andra hand, inte så enkelt) sätt att kontrollera om det finns
filer i en viss katalog, och OM det finns filer få applikationen att läsa informationen i dem
en efter en (det rör sig om semikolonseparerade textfiler), för att, när allt är inläst, radera
filen??
Jag är nybörjare på VB.NET så hjälp är uppskattat.
Med vänlig hälsning
//Johannes
Svara
Sv: Leta filer och läsa dem.
lite snabbt ihoptotatr hur man skulle kunna göra, dock ej testkört och i C#
<code>
string[] strfiles = Directory.GetFiles("c:\\*.*");
foreach (string str in strfiles)
{
FileStream fil = File.OpenRead(str);
StreamReader strReader = new StreamReader(fil);
while (true)
{
string aLine = strReader.ReadLine();
if (aLine != null)
{
}
else
break;
}
fil.Close();
File.Delete(str);
}
</code>
Svara
Sv: Leta filer och läsa dem.
Jag kan inte såhär utantill säga alla funktioner du skall använda, men snegla lite åt dessa klasser...
System.IO.DirectoryInfo - Skapa ett nytt objekt av denna så får du tillgång till katalogen och genom denna kan du sedan använda dig av en funktion som returnerar alla filerna i katalogen (kommer inte ihåg vad den heter men med intellisense hittar du den säkert)
För varje fil i katalogen öppnar du upp en FileStream, också i System.IO, men det kan hända att du får tillbaka ett svar från DirectoryInfo som är i formatet FileInfo och kan då direkt öppna filen.
Lägg in denna Stream till ett nytt StreamReader objekt och läs in data från filen, eller annan som du vill använda eftersom det finns flera sätt att läsa och skriva filer.
Hoppas det kan ge lite tips om hur du ska göra, har som sagt inte allt i huvudet nu.
Skriv om det är mer problem så kan jag ta fram mer konkreta exempel.
Svara
Sv:Leta filer och läsa dem.
Tack för tipsen!
Jag ska grotta ner mig lite i det här och återkommer med respons.. :)
Svara
Sv: Leta filer och läsa dem.
Jisses. Den där C#-koden ser fin ut, problemet är att jag inte får till en VB.NET version av det.
Svara
Sv:Leta filer och läsa dem.
Här har du en lite kortare variant i VB. Kör dock inte denna då den raderar varje fil i C:\ för tillfället ;)
<code>
Dim Directory As New DirectoryInfo("C:\")
For Each File As FileSystemInfo In Directory.GetFileSystemInfos("*.*")
Dim SR As New StreamReader(File.FullName)
Dim FileContent As String = SR.ReadToEnd()
SR.Close()
File.Delete()
Next
</code>
Svara
Sv: Leta filer och läsa dem.
Aha.. Tack och bock!..
Nej, jag ska peka om den till katalogen det gäller först, jag lovar. :)
Svara