Java kommer med en innebygd sett av verktøy for håndtering av nettverkstilkoblinger, og både lese og skrive data til en server, forutsatt at du bruker standard Internett-protokoller som HTTP og FTP. I noen få trinn kan du lage en rask søknad , med et grafisk brukergrensesnitt , som vil laste opp bilder til et eksisterende FTP -server. Instruksjoner
en
Åpne din favoritt teksteditor av Java-utviklingsmiljø og lim inn følgende i den : en
import java.awt.GridLayout ;
import java.awt . Etikett;
import java.awt.event.ActionEvent ;
import java.awt.event.ActionListener ;
import java.io.BufferedOutputStream ;
< p> import java.io.File ;
import java.io.FileInputStream ;
import java.net.URL ;
import java.net.URLConnection ;
import javax.swing * ; .
public class UploadForm utvider JFrame implementerer ActionListener {
File image ;
JTextField server = new JTextField ( "") ;
JTextField username = new JTextField ( " ");
JTextField ImagePath = new JTextField ( " ");
JButton imageBrowse = new JButton ( " Finn bilde ");
JPasswordField passord = new JPasswordField ( " ");
JButton uploadButton = new JButton ( " opp ");
public void ( ActionEvent ae ) {
}
offentlig UploadForm ( ) {
}
public static void main ( String [] args ) {
}
< p> }
enkel klasse skjelettet importerer alle klassene som vil være nødvendig fra standard Java-bibliotekene , definerer de tre metodene som programmet vil bruke , og skaper de nødvendige elementene i brukergrensesnittet .
2
Lim følgende inn i "main "-metoden : en
JFrame f = new Java-programmerere vil gjenkjenne dette som standard metode som gir inngangen til programmet fra operativsystemet . I dette tilfellet gjør det veldig lite : det skaper rammen som holder det grafiske brukergrensesnittet , sikrer at programmet vil stenge ned når brukeren lukker rammen, og gjør rammen er synlig for brukeren
< . br > 3
Lim følgende inn i " UploadForm " konstruktør ( den " UploadForm ( )" GridLayout ( 0,2) ) ;
this.add ( ImagePath ) ;
this.add ( imageBrowse ) ;
this.add ( ny Etikett ( "Server" ));
this.add (server ) ;
this.add ( ny Etikett ( "Brukernavn" ));
this.add ( brukernavn) ;
this.add ( ny Etikett ( "Passord "));
this.add ( passord);
this.add ( uploadButton ) ;
setter opp utseendet på det grafiske brukergrensesnittet ved hjelp av " GridLayout " manager . Først blir de to knappene i brukergrensesnittet beskjed om å sende handling hendelser på dette programmet er " actionPerformed " metoden. Da er GridLayout leder konfigurert til å ordne elementene i brukergrensesnittet i et rutenett med to kolonner og et ubegrenset antall rader . Og, til slutt , er alle elementene i brukergrensesnittet lagt . Rekkefølgen har betydning : . Det GridLayout starter øverst lengst til venstre posisjon i rutenettet og fyller hele raden før du går ned til neste rad
4
Lim følgende inn i " actionPerformed "-metoden :
if ( . ae.getSource ( ) er lik ( imageBrowse ) ) {
String s ;
JFileChooser jfc = new JFileChooser ();
jfc.showDialog ( jfc : «Velg en bildefil ");
s = jfc.getSelectedFile ( ) getAbsolutePath (); .
imagePath.setText ( s ) ;
} else
if ( ae.getSource ( ) er lik ( uploadButton ) . ) {
try {
File f = new File ( imagePath.getText ( ) ) ;
< p> String urlString = " ftp://" + username.getText ( ) + ":" + password.getText ( ) + " @ " + server.getText ( ) + " /" + f.getName ();
URL url = ny URL ( urlString ) ;
URLConnection tilkobling = url.openConnection ();
connection.setDoOutput ( true);
BufferedOutputStream ut = ny BufferedOutputStream ( connection.getOutputStream ( ));
FileInputStream i = nye FileInputStream ( f);
byte [ ] buffer = new byte [ 1024 ];
int i = 0 ;
while ( (i = in.read (buffer ) ) > = 0 ) {
out.write (buffer , 0 , i);
}
out.close ();
in.close ();
} catch ( Exception e ) {
System.out.println ( e.getMessage ( ));
}
}
Denne metoden er litt komplisert , fordi actionPerformed metoden har å gjøre to ting . Hvis " imageBrowse " knappen klikkes , må det gi brukerne en filveljarknappen dialog for å tillate dem å velge en bildefil fra harddisken . Og på den annen side , hvis " uploadButton " klikkes, må den åpne filen som er valgt med bilde nettleser , åpne en FTP-tilkobling til en server (med URLConnection klasse) , og skrive data fra filen til web server.