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/vsz0.png)
Akkor se megy.
Érdekes, más projektnél bezzeg működik:
pl. a projekt neve asd, van emellett egy kepek nevű mappa, abban képek és megtalálja.
Ennél az esetben az asd mappa mellett van a kepek.
A mostani gondnál is lett még egy mappa, de természetesen itt nem jó.
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.
Ez lenne(, de gondolom ebben egyből lesz 2-3-4 vagy még több hiba:( )
:
FileInputStream fajl = new FileInputStream("nemletezik/asd.xy");
int i=0;
while(true) {
int szam = fajl.read();
System.out.println(szam);
if (i==10) break;
i++;
}
fajl.close();
![*](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)
Próbaképpen írd ki hol fut a programod:
System.out.println("Working Directory = " + System.getProperty("user.dir"));
Így látni fogod hova kell tenned az "asd.xy" fájlodat, hogy mellette legyen.
OFF: Amúgy ha rászoksz az olyan nevekre mint "asd" vagy "xy", később nagyon olvashatatlan, pongyola kódot fogsz írni. Így az elején még elmegy, de idővel nem árt ha elhagyod.
Köszi, majd megnézem. :)
asd-xy:
nem ezek a nevek vannak eredetiben, de nem akarom, hogy a neten megtalálható legyen bármilyen részlet a programomból. :/
(Főleg úgy,hogy beadandó, de az stim, hogy bináris fájlból kell olvasni.)
![*](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)
System.getProperty("user.dir") a HOME könyvtárat adja vissza, nem az aktuálisat.
Linux alatt /home/xxx
Windows alatt C:\Users\xxx
Erre a célra pont nem jó. A helyes megoldás itt: [link]
![*](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/vsz0.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/vsz2.png)
@#6:
Ajánlom figyelmedbe:
"user.dir" igenis a working directory, és nem keverjük a "user.home"-al.
Próbáld ki.
![*](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)
![*](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)
A ciklus tényleg példa értékű.
Hozz létre egy új fájl, nézd meg az abs. elérési útját. Ott fogja keresni az általad megadott fájlt is.
Ez nem a legszebb megoldás, de ahogy elnézem, ez lesz a legkisebb problémája a programnak.
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!