Kezdőoldal » Számítástechnika » Programozás » Hogyan kellene megírni/kijavít...

Hogyan kellene megírni/kijavítani ezt a kódot, hogy jó legyen?

Figyelt kérdés

A feladat az, hogy fájl/mappa lista letárolás nékül rekurzívan olvassunk be egy mappát, és az összesben töröljük ki az összes html-t, majd vegyük a mappákban lévő képek neveit és mindegyikhez külön külön hozzunk létre egy html dokumentumot és mindegyik mappában lennie kell 1 db index.html-nek


Ami eddig "működik", hogty létrehozza a html dokumentumokat, de nem törli őket a legelején (Azért van a törlés a traversen jóval belül, mivel az, hogy egyáltalán fájl-e az állomány az azon belüól van, az index létrehozás meg azért a fgv elején mert a gyökérkönyvtárba is kell index)


[link]


2021. nov. 15. 01:04
 1/6 anonim ***** válasza:

Első probléma, hogy ha a "htm" a fájl nevében szerepel, akkor is törlöd. Csak az extension-ben kéne megnézni.


A createNewFile() csak akkor csinál filet, ha még nem létezik. Tehát ha már van egy képhez html, akkor nem csinál, majd az a html letörlődik, és így nem is lesz. Úgy meg lehetne oldani, hogy előbb a html fájlokat listázod egy mappában, törlöd őket, és utána traverse-eled a maradékot.


Az index.html létrehozását csak simán rakd a traverse végére, ne az elejére. Mert jelenleg azt is egyből letörli.

2021. nov. 15. 16:52
Hasznos számodra ez a válasz?
 2/6 A kérdező kommentje:

Azóta kicsit alakítottam rajta, és amit írtál elvileg mostmár nem probléma.

Azonban közben rájöttem, hogy mivel képeknél számít az, hogy első vagy utolsó-e (lépkedni kell az egyes mappákban tudni közöttük) érdemesebb egy olyan struktúrát kialakítani, hogy legyen egy Folder class és egy 'Regularfile'class, ahol a folder ugye nyílván tartalmazhat további mappákat és fájlokat, azonban ennek megvalósítása többszöri nekifutásra se megy


[link]

2021. nov. 15. 20:36
 3/6 anonim ***** válasza:

Ezt nem értem, hogy hogyan kell lépkedni, de lehet nem is kell értenem.


Ha objektumstruktúrába akarod ezeket tölteni, akkor szerintem szükséged lesz listákra. Bár csinálhatod láncolt listával is. Pl. minden RegularFile tartalmaz egy RegularFile változót, ami mutat a következőre, az utolsóé pedig null. A Folder pedig lehet a RegularFile leszármazottja, és neki ezen felül van még egy RegularFile változója, ami a benne lévő fájlok közül az elsőre mutat.

2021. nov. 15. 21:03
Hasznos számodra ez a válasz?
 4/6 A kérdező kommentje:

Tehát ilyesmit kell kihozni

root

-subfolder1

-subsubfolder1

-sub_kep1.jpg

sub_kep1.html

index.html

-subfolder2

-subfolder3

-kep1.jpg

-kep1.html

-index.html


az index.html mindig az adott szinten lévő directorykat és kepeket listazza csoportosítva (mappa vagy kep)


Ilyesmit próbáltam meg amit írsz, de sehogy nm jött össze. Java-ban a File osztaly az lehet bármi (könyvtár vagy sima fájl is) és ehhez akartam létrehozni 2 gyermeket, de a konstruktorokkal és a listához való hozzáadásának mikéntjével nem boldogulok egyelőre

2021. nov. 15. 21:19
 5/6 A kérdező kommentje:
Úgy látom hiába tettem space-t elcsúszott, a mappa szerkezet ilyesmi: [link]
2021. nov. 15. 21:21
 6/6 anonim ***** válasza:
Csinálsz mondjuk egy StringBuilder-t a traverse függvény legelején. Vagy legyen inkább kettő. Egyikbe írogatod a mappák neveit, a másikba a file-okét. Aztán ezeket átadod mondjuk a setContent-nek és ott a tartalmukat írod az indexbe.
2021. nov. 15. 21:42
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!