Closed ioseb closed 11 years ago
@vaxop ამ დავალებაზე ფიქრი დაიწყე მხოლოდ მას მერე როცა დაამთავრებ #14 დავალებას.
directoryList რომ დ ვარქვა ამ კლასს მოსულა?
HttpFilesList?
არა HttpDirFileList
ვახო, ეგ ყველაფერი ფანტასტიურია! ერთი გაითვალისწინე, რომ შენს რეალიზაციას File ტიპის ობიექტი გადმოეცემა გარედან, სხვის მიერ და isDirectory აღარ დაგჭირდება. ასევე სტრიქონი მასე არ დააგენერირო StringBuilder გამოიყენე. დეტალებს კომპტან რომ ვიქნები კიდევ მოგწერ.
Sent from my iPhone
On Mar 9, 2013, at 6:16 PM, Vaxtang Pataraia notifications@github.com wrote:
package edu.cst.webserver.http;
import java.io.File;
public class HttpDirFilesList { public static void main(String[] args) {
String path = "C:\\Users\\vaxop\\Documents\\GitHub\\serv-cst\\src\\main\\java\\edu\\cst\\webserver\\http\\fold"; File file2 = new File(path); if (file2.isDirectory()) { File[] item = file2.listFiles(); String absolutePath = file2.getAbsolutePath(); System.out.println("<ul>"); for(File f : item){ if(f.isDirectory()){ System.out.println("<li>" + "<a href=" + '"' + absolutePath + "\\" + f.getName() + '"' + ">"+"/" + f.getName() + "</a>" + "</li>"); } else{ System.out.println("<li>" + "<a href=" + '"' + absolutePath + "\\" + f.getName() + '"' + ">" + f.getName() + "</a>" + "</li>"); } } System.out.println("</ul>"); } else { System.out.println("file"); System.out.println(file2.getAbsolutePath()); }
} }
@ioseb ესეთი რაღაცეები ვიმაიმუნე ცოტა რომ აზრზე მოვსულიყავი , ეხლა როგორ მოვიქცე?.
— Reply to this email directly or view it on GitHub.
სტრიქონი დავაგენერირე StringBuilder-ით ეხლა ეს კლასი მაქვს.
package edu.cst.webserver.http;
import java.io.File;
/**
* User: vaxop
*/
public class HttpDirFilesList {
public static void main(String[] args) {
String path = "C:\\Users\\vaxop\\Documents\\GitHub\\serv-cst\\src\\main\\java\\edu\\cst\\webserver\\http\\fold";
File file2 = new File(path);
if (file2.isDirectory()) {
File[] item = file2.listFiles();
String absolutePath = file2.getAbsolutePath();
StringBuilder builder = new StringBuilder();
builder.append("<ul>");
for (File f : item) {
builder.append("<li><a href=\"");
builder.append(absolutePath);
builder.append("\\");
builder.append(f.getName());
builder.append("\" >");
if (f.isDirectory()) {
builder.append("/");
}
builder.append(f.getName());
builder.append("</a></li>");
}
builder.append("</ul>");
builder.toString();
System.out.println(builder);
} else {
System.out.println("file");
System.out.println(file2.getAbsolutePath());
}
}
}
@vaxop ეს არ გამოგრჩეს :warning:
ფაილები ჩამონათვალში ხვდება მხოლოდ იმ შემთხვევაში თუ მასზე გვაქვს წაკითხვის პერმიჟენი(უფლება)
@vaxop განვაახლოთ ამ საკითხის დამუშავება.
@ioseb ამას ტესტები უნდა?
@vaxop ჩაერთო შენი კოდი საქმეში , გადახედე #37 ამას..
შეგიძლია კოდის განვითარებაზე იფიქრო და იმუშაო
ერთი შეცდომაა და გასასწორებელია :
@demonno მოწოდების სიმაღლეზე ხარ? :D :+1:
@otarza ხო არა თქვენსავით მახათები უნდა აპრიალოს...
On Thursday, April 25, 2013 at 4:25 PM, otar wrote:
@demonno (https://github.com/demonno) მოწოდების სიმაღლეზე ხარ? :D
— Reply to this email directly or view it on GitHub (https://github.com/otarza/serv-cst/issues/17#issuecomment-17003544).
@ioseb ზოგისთვის ეგეც საქმეა :D
@otarza ჭეშმარიტი ხარ როგორც ყოველთვის:დ
ახალგაზრდებო,
თქვენს დოკუმენტ რუტში(ანუ იქ სადაც დემურმა მოიწერა) ჩააგდეთ ის ფაილები რასაც ახლა გიგზავნით. დაქოქეთ სერვერი, გახსენით ბრაუზერი აკრიფეთ: http://localhost:9191/ და ისიამოვნეთ B-)
ფაილები: http://cl.ly/3z0c2X2G3P3Q
On Thursday, April 25, 2013 at 4:36 PM, otar wrote:
@ioseb (https://github.com/ioseb) ზოგისთვის ეგეც საქმეა :D
— Reply to this email directly or view it on GitHub (https://github.com/otarza/serv-cst/issues/17#issuecomment-17004017).
@otarza @revazi @gtkesh @vaxop ყველას გეხებათ! B-)
P.S. კოდის განახლება არ დაგავიწყდეთ ბოლო ვერსიაზე.
@demonno მიეხმარე @vaxop - ს ამ დავალების დასრულებაში.
ვაუ :smile: აი შედეგი და ეფექტი ამას ქვია .. Network მონიტორში რა რექვესტები იგზავნება :+1:
@ioseb მივეხმარები
@demonno მოიტანა? :P სხვებმაც გააკეთეთ იგივე!
@vaxop @demonno რას აპირებთ?
@ioseb
Size
და Date Modified
ამას ვაპირებთ და დღეს უმეტესობის გაკეთებას ვგეგმავთ. /cc @vaxop
p.s. თუ რამე ზედმეტია ან აკლია გვითხარი ...
@demonno ძალიან კარგია!
On Friday, April 26, 2013 at 10:53 AM, Demur Nodia wrote:
@ioseb (https://github.com/ioseb)
ვაპირებთ რომ გავმართოთ ისე რო დირექტორიებზე გადასვლა შეიძლებოდეს, დავასორტიროთ ლისტი ისე რომ ჯერ დირექტორიები იყოს მერე ფაილები ასევე მშობელ დირექტორიაში დაბრუნება ხდებოდეს ლისტის ზემოთ არსებული ღილაკით
გვინდა ჩავამატოთ Size და Date Modified
ფაილების და დირექტორიების განმასხვავებელი იკონკების ჩამატება რამე ესეთი დასახელების წინ Directory: File:ამას ვაპირებთ და დღეს უმეტესობის გაკეთებას ვგეგმავთ. /cc @vaxop (https://github.com/vaxop)
p.s. თუ რამე ზედმეტია ან აკლია გვითხარი ...— Reply to this email directly or view it on GitHub (https://github.com/otarza/serv-cst/issues/17#issuecomment-17058127).
2 ჯერ გამოძახება აღარ ხდება .. @vaxop გამოდი კონტაქტზე :baby:
საღამოს გამოვალ არ ვარ სახლშიო ვახომ.
2013/4/26 Demur Nodia notifications@github.com
2 ჯერ გამოძახება აღარ ხდება .. @vaxop https://github.com/vaxop გამოდი კონტაქტზე [image: :baby:]
— Reply to this email directly or view it on GitHubhttps://github.com/otarza/serv-cst/issues/17#issuecomment-17063910 .
@otarza ს დახმარებით ეს თიქეთიც მივიდა ბოლომდე , დარჩნილი ბაგებიც გავასწორე ...
იმ შემთხვევაში თუ HTTP მოთხოვნაში მითითებული URI მიუთითებს დირექტორიას უნდა გამოვიტანოთ ამ დირექტორიის შიგნით შემავალი ფაილების ჩამონათვალი. მაგალითად გვაქვს მოთხოვნა:
და დავადგინეთ რომ
/documents
არის დირექტორია. ასეთ შემთხვევაში უნდა ავიღოთ ამ დირექტორიაში შემავალი ფაილებისა და დირექტორიების ჩამონათვალი და მომხმარებელს ვუჩვენოთ როგორც HTML გვერდი სადაც ფაილები/ფოლდერები იქნება ბმულები.მაგალითად თუ დირექტორია შედგება შემდეგი ფაილებისგან და ქვედირექტორიებისგან:
მომხარებელს უნდა ვუჩვენოთ ასეთი HTML გვერდი:
ფაილები ჩამონათვალში ხვდება მხოლოდ იმ შემთხვევაში თუ მასზე გვაქვს წაკითხვის პერმიჟენი(უფლება)
დამატებითი დეტალებისთვის შეიხედე აქ #10 და ნახე როგორ ხდება ფაილებთან მუშაობა
File
კლასის მეშვეობით.@demonno @reflooding @revazi თქვენს მოსაზრებებს და იდეებსაც ველოდები თუმცა დავალება @vaxop - ს გასაკეთებელია.