Miért nem találja a fájlt, amikor ott van a forráskód (ok) mellett? (Java)
(xy is egy bináris fájl, csak xy a kiterjesztése)
FileInputStream fajl = new FileInputStream("asd.xy");
A fájl meg asd néven van, xy kiterjesztéssel.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
"De gondolom az a baj, hogy itt fájl van és nem kép(png-ben).
És nem kép beolvasás van, hanem fájl."
WTF? A png nem fájl? Hát akkor micsoda? Kiskutya?
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
Kösz a válaszokat. :)
Tudom, hogy nem a legjobb a ciklus, de úgyis az lesz mindenhol, minden programomnál, hogy ez szar, ez rossz, akármit csinálok. Mondom, akármit és akármit írok le.
Ezt adja ki:
Working Directory = C:\Users\Felhasználó\Documents\NetBeansProjects\fajlbeolvaso
Ezen belül van egy build, nbproject, src.
Src-ben belül egy fajlbeolvaso és ezen belül nemletezik mappa.
Amit meg be kell olvasnom:
asd.xy
Ha:
a nemletezik mappában van, akkor:
FileInputStream fajl = new FileInputStream("nemletezik/asd.dat");
->rossz.
Ha a forráskódokok mellett van, akkor:
FileInputStream fajl = new FileInputStream("asd.dat");
->rossz.
Ha a build mappa mellett van:
FileInputStream fajl = new FileInputStream("asd.dat");
Ekkor jó.
Hm, azt valóban elnéztem, hogy fájl-nem fájl.
De közben arra gondoltam, hogy a képet egy menuitemhez adtam hozzá (ikon), de ez meg FileInputStream-mal.
:D
Szóval így értettem. :D
A program nem ezt fogja csinálni természetesen(a ciklusra gondolok), de amiért beadandó, ide nem szeretném kirakni azt a feladatot, amit valóban meg kell csinálni. Főleg úgy,hogy a tanár kikötötte, hogy ne netről szedett megoldásokat vadásszunk le.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
"Ha a build mappa mellett van:
FileInputStream fajl = new FileInputStream("asd.dat");
Ekkor jó."
Ugyan egy picit gondolkozz már el rajta, hogy miért is ?
Hova fordít, honnan fut a 'tesztidőben' a programod ? Nem kenyerem a Java, de egy pici logikával rá lehet jönni file-ok helyére. Nem véletlenül van Build és Src mappa. Az Src mappában mint a neve is mutatja a forrás file-ok találhatók, a Build-ban pedig a lefordított, futtatható állomány. Akkor hol is keresse a 'maga' mellett lévő file-t ? Hasonlóképpen van ez C#-ban is, ott is van pár mappa, de akár Delphi-ben is amíg nem mentetted el a projectet.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!