lab6







Bartosz Kozłowski - P-JWSTK - Przedmioty - WPR - Lab 6




Lab 6


Zadanie 1
RandomAccessFile

Zaimplementuj klasę umożliwiającą "edycję" podstawowych plików haseł np. serwera www - Apache

Zmodyfikowana konstrukcja pliku .htpasswd

W każdej linii znajduje się nazwa użytkownika i jego hasło, rozdzielone przez ":"
Hasło może przyjmować dowolną długość nie przekraczającą zadanego wcześniej max
Jeśli hasło jest krótsze od max, to uzupełniane jest określonym znakiem do długości max
Na przykład:

ann:123456789
bob:qwerty
pat:abcdefg
sam:q1w2e3r4

UWAGA: Należy zwrócić uwagę na uzupełnienie wszystkich haseł do długości 9 przez znak "spacji"

Klasa HTPFileEditor

Pola:

public static final char FILL = 0x20; // przykładowy znak "wypełnienia" krótkiego hasła
private RandomAccessFile raf...
private int passLength = 8; // odpowiada maksymalnej długości hasła w tym pliku (max)
...

Konstruktory:

public HTPFileEditor(String fileName)
public HTPFileEditor(File file)
public HTPFileEditor(String fileName, int passLength)
public HTPFileEditor(File file, int passLength)

Metody:

private String fillPass(String pass, char c) // uzupełnia hasło do max
public boolean addUser(String user, String pass) // dodaje nowego użytkownika do pliku
public boolean hasUser(String user) // sprawdza czy jest taki użytkownik w pliku
public boolean disableUser(String user) // blokuje użytkownika
public boolean changePass(String user, String pass) // zmienia hasło użytkownikowi
public boolean verifyPass(String user, String pass) // sprawdza czy hasło użytkownika jest takie jak w pliku


Program testujący powinien wykonać wszystkie operacje w różnych konfiguracjach na 3 różnych plikach


Zadanie 2
File

Napisz program, który wypisuje na konsoli lub zapisuje do pliku strukturę podkatalogów
(wraz z plikami) poczynając od zadanego katalogu.

App2

Rekurencyjna funkcja crawlDir(String dir, ...)
Jeśli nie zostanie podany żaden parametr, operujemy na katalogu bieżącym i wyniki wypisujemy na konsoli
Jeśli zostanie podany jeden parametr, operujemy na podanym katalogu, a wyniki wypisujemy na konsoli.
Jeśli zostaną podane dwa parametry, to operujemy na katalogu podanym w pierwszym parametrze,
a wynik należy zapisać w pliku o nazwie podanej w drugim parametrze.
Przykładowy wynik działania programu:
----| .
App1.java
App2.java
htpasswd
HTPFileEditor.java
tree.txt
----| bk
----| wpr
----| lab6
HTPFileEditor.class
App1.class
App2.class
----| prg3
abc.txt









Wyszukiwarka

Podobne podstrony:
Mathcad lab6 2
Lab6
BD 1st 2 4 lab6 tresc 1 1
lab6
Lab6 2 SW2 lab62
2010 LAB6 Sprawozdanie
sr lab6
lab6 ZA
LAB6 csproj FileListAbsolute
lab6 doc
lab6
lab6 README

więcej podobnych podstron