Avatar billede dennism Nybegynder
08. december 2008 - 13:19 Der er 12 kommentarer og
2 løsninger

C#: FileStream: intern fil?

Jeg forsøger at lave en filestream som denne:
FileStream fileStream = new FileStream(@"\Sounds\B.wav", FileMode.Open, FileAccess.Read);

Filen ligger i en mappe der hedder Sounds i mit projekt, men den kan ikke finde den på denne måde. Hvordan skal jeg pege rigtigt på den?
Avatar billede kalp Novice
08. december 2008 - 13:21 #1
FileStream fileStream = new FileStream(@AppDomain.CurrentDomain.BaseDirectory+"\Sounds\B.wav", FileMode.Open, FileAccess.Read);
Avatar billede kalp Novice
08. december 2008 - 13:22 #2
FileStream fileStream = new FileStream(@Environment.CurrentDirectory+"\Sounds\B.wav", FileMode.Open, FileAccess.Read);
Avatar billede dennism Nybegynder
08. december 2008 - 13:27 #3
For at det virker, skal jeg sætte den til at kopiere filen over i output. Kan det ikke klares på en måde, hvor filen ikke skal ligge i output - altså hvor den er i .exe-filen?
Avatar billede aaberg Nybegynder
08. december 2008 - 13:28 #4
kalp: Jeg tror du placerede @-tegnet lidt forkert :-D

FileStream fileStream = new FileStream(AppDomain.CurrentDomain.BaseDirectory + @"\Sounds\B.wav", FileMode.Open, FileAccess.Read);
Avatar billede aaberg Nybegynder
08. december 2008 - 13:32 #5
Hvis du vælger din fil i Solution Exploreren, kan du ændre "Build Action" i property vinduet til "Embedded Resource". Dette vil embedde filen ind i din exe-fil. For at få fat i filen, skriver du:

Stream embeddedFileStram = this.GetType().Assembly.GetManifestResourceStream("namespace.filnavn.txt");
Avatar billede aaberg Nybegynder
08. december 2008 - 13:33 #6
embeddedFileStram skulle have været embeddedFileStream  :-)
Avatar billede dennism Nybegynder
08. december 2008 - 13:42 #7
Ok, tak.

Pt. bruger jeg dette for at finde alle .wav-filerne frem:
            DirectoryInfo directoryInfo = new DirectoryInfo(Environment.CurrentDirectory+@"\Sounds");
            FileInfo[] allowedFiles = directoryInfo.GetFiles("*.wav");

            foreach(FileInfo fileInfo in allowedFiles)

Kan jeg gøre noget lignende, hvis jeg ligger dem som en embedded resource?
Avatar billede aaberg Nybegynder
08. december 2008 - 13:53 #8
GetManifestResourceNames() metoden kan måske bruges!? Jeg har aldrig selv haft brug for denne metode, så jeg skal ikke kunne sige præcist hvordan den virker.
Avatar billede dennism Nybegynder
08. december 2008 - 23:06 #9
Kan jeg få et svar fra jer begge?
Avatar billede kalp Novice
08. december 2008 - 23:43 #10
=)
Avatar billede dennism Nybegynder
09. december 2008 - 08:16 #11
Vil du ikke have point?
Avatar billede aaberg Nybegynder
09. december 2008 - 08:33 #12
Her kommer i hvert fald et svar fra mig :-)
Avatar billede kalp Novice
09. december 2008 - 09:37 #13
=)

fik ikke trykket ordenligt:)
Avatar billede dennism Nybegynder
11. december 2008 - 08:28 #14
I må undskylde at jeg spammer her, men sidder med et akut problem, som jeg meget gerne vil have en løsning på. Håber I kan hjælpe mig her:
http://www.eksperten.dk/spm/856076
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester