[Java]Απομακρυσμένη Πρόσβαση σε αρχεία

Συζητήσεις για γλώσσες προγραμματισμού και θέματα σχετικά με προγραμματισμό.
Post Reply
Babedacus
Kilobyte level
Kilobyte level
Posts: 299
Joined: Mon Nov 21, 2005 1:05 pm

[Java]Απομακρυσμένη Πρόσβαση σε αρχεία

Post by Babedacus » Thu Oct 12, 2006 2:15 am

Ε;Καλά το είπα;Βασικά η απορία είναι διπλή.
α)Πως μπορώ να δω τα περιεχόμενα του καταλόγου http://dias.aueb.gr/ ;
β)Πως μπορώ να ανοίξω το αρχείο http://dias.aueb.gr/dias.jpg ;

To α δηλαδή είναι σαν το list() της class java.io.File.
Και το β σαν το new File("http://dias.aueb.gr/dias.jpg"),κτλ.
User avatar
ciao
Wow! Terabyte level
Wow! Terabyte level
Posts: 2371
Joined: Mon May 03, 2004 1:15 am
Academic status: PhD
Gender:
Location: πίσω από την μπάλα

Post by ciao » Thu Oct 12, 2006 2:23 am

Τι ακριβώς θέλεις να κάνεις??? :???:
S.S.D.D.
User avatar
Argi
byte level
byte level
Posts: 122
Joined: Tue Nov 09, 2004 7:22 pm

Re: [Java]Απομακρυσμένη Πρόσβαση σε αρχεία

Post by Argi » Thu Oct 12, 2006 2:37 am

Babedacus wrote:Ε;Καλά το είπα;Βασικά η απορία είναι διπλή.
α)Πως μπορώ να δω τα περιεχόμενα του καταλόγου http://dias.aueb.gr/ ;
β)Πως μπορώ να ανοίξω το αρχείο http://dias.aueb.gr/dias.jpg ;

To α δηλαδή είναι σαν το list() της class java.io.File.
Και το β σαν το new File("http://dias.aueb.gr/dias.jpg"),κτλ.
a) Άνοιξε μια tcp socket connection στην διεύθυνση dias.aueb.gr και στείλε ένα σωστό GET request για τη σελίδα που θες να δείς. Θα σου επιστραφεί μια html σελίδα και αν έχει ενεργοποιημένο το directory listing η σελίδα που θες, θα δείς τα περιεχόμενα. Τώρα αν θές όντως να δείς του http://dias.aueb.gr/, τότε δε νομίζω να μπορέσεις γιατί ο server θα σου
στείλει την index που έχει τοποθετηθεί εκεί.
b) Τι εννοείς "ανοίξω"; Αν θες να βάλεις την εικόνα http://dias.aueb.gr/dias.jpg σε ένα label μέσα σε ένα frame, τότε μπορείς άνετα να το κάνεις, το jlabel μπορεί να πάρει ως εικόνα κάτι από url, αφού το imageIcon δέχεται url ως όρισμα στον κατασκευαστή. Άρα μπορείς να πάρεις την εικόνα από το http://dias.aueb.gr/dias.jpg και να την κάνεις ό,τι θές.
I am a nobody, and nobody is perfect; therefore I am perfect.
Babedacus
Kilobyte level
Kilobyte level
Posts: 299
Joined: Mon Nov 21, 2005 1:05 pm

Post by Babedacus » Thu Oct 12, 2006 2:45 am

ciao wrote:Τι ακριβώς θέλεις να κάνεις??? :???:
Έχω ένα πρόγραμμα σε Java,ωραία;Μέχρι χτες αυτό που έκανε είναι να παίρνει σαν είσοδο ένα κατάλογο στο τοπικό σύστημα αρχείων και να γράφει στην προκαθορισμένη έξοδο όλα τα περιεχόμενα του.Καλά μέχρι εδώ;Αυτό που θέλω να κάνει τώρα είναι να παίρνει σαν είσοδο ένα URL και να μου δείχνει τα περιεχόμενα του καταλόγου του απομακρυσμένου συστήματος (π.χ. του καταλόγου / στο dias.aueb.gr).
Επίσης αυτό το πρόγραμμα ανοίγει μπορεί να δείξει και μια εικόνα απ'το τοπικο σύστημα αρχείων.Αυτό που θέλω να κάνει τώρα είναι να ανοίγει μια εικόνα από άλλο υπολιστή (π.χ την http://dias.aueb.gr/dias.jpg).
Babedacus
Kilobyte level
Kilobyte level
Posts: 299
Joined: Mon Nov 21, 2005 1:05 pm

Re: [Java]Απομακρυσμένη Πρόσβαση σε αρχεία

Post by Babedacus » Thu Oct 12, 2006 2:51 am

Argi wrote:a) Άνοιξε μια tcp socket connection στην διεύθυνση dias.aueb.gr και στείλε ένα σωστό GET request για τη σελίδα που θες να δείς. Θα σου επιστραφεί μια html σελίδα και αν έχει ενεργοποιημένο το directory listing η σελίδα που θες, θα δείς τα περιεχόμενα. Τώρα αν θές όντως να δείς του http://dias.aueb.gr/, τότε δε νομίζω να μπορέσεις γιατί ο server θα σου
στείλει την index που έχει τοποθετηθεί εκεί.
Δεν υπάρχουν έτοιμες βιβλιοθήκες που να το κάνουν αυτόματα αυτό το πράμα,και να μου δίνουν String[];
Όσον αφορά το β,το είχα ήδη λύσει,αλλά δεν το είχα πάρει χαμπάρι.:-D
User avatar
ciao
Wow! Terabyte level
Wow! Terabyte level
Posts: 2371
Joined: Mon May 03, 2004 1:15 am
Academic status: PhD
Gender:
Location: πίσω από την μπάλα

Post by ciao » Thu Oct 12, 2006 3:19 am

Προσωπικά δεν γνωρίζω γιατί δεν το έχω ψάξει...google ή κάτι αντίστοιχο κοίταξες??
Διαφορετικά argi... ;)
S.S.D.D.
User avatar
Argi
byte level
byte level
Posts: 122
Joined: Tue Nov 09, 2004 7:22 pm

Post by Argi » Thu Oct 12, 2006 4:53 am

Code: Select all

   try {
        // Create a URL for the desired page
        URL url = new URL("http://dias.aueb.gr/~p302xxxx/");
    
        // Read all the text returned by the server
        BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
        String str;
        while ((str = in.readLine()) != null) {
            // str is one line of text; readLine() strips the newline character(s)
        }
        in.close();
    } catch (MalformedURLException e) {
    } catch (IOException e) {
    }
Αυτό θα κάνει τη δουλειά πιο εύκολα.
Μόνο που αυτό που θα επιστραφεί θα είναι μια html σελίδα η οποία θα έχει τα περιεχόμενα του καταλόγου σε html μορφή αν είναι ενεργοποιημένο το directory listing όπως είπα πιο πριν. Μετά πρέπει να κάνεις parse τα αποτελέσματα για να βρείς τα ονόματα των αρχείων.
Γενικά δεν υπάρχει κάτι αντίστοιχο της list() για urls σε καμμία γλώσσα απ'όσο ξέρω.
I am a nobody, and nobody is perfect; therefore I am perfect.
Babedacus
Kilobyte level
Kilobyte level
Posts: 299
Joined: Mon Nov 21, 2005 1:05 pm

Post by Babedacus » Thu Oct 12, 2006 5:21 am

Ευχαριστώ.Θα το κοιτάξω,αλλα μάλλον το βράδυ.
Post Reply

Return to “Προγραμματισμός”