Java kommer med en indbygget sæt værktøjer til håndtering af netværksforbindelser og både læsning og skrivning af data til en server , hvis du bruger standard Internet protokoller som HTTP og FTP. I et par trin, kan du oprette en hurtig ansøgning , med en grafisk brugergrænseflade , der vil uploade billeder til en eksisterende FTP-server. Instruktioner
1
Åbn din foretrukne teksteditor til Java-udviklingsmiljø og indsætte følgende ind i det : Hej
import java.awt.GridLayout ,
import java.awt . Label ;
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 ; < br >
import javax.swing * ; .
public class UploadForm udvider JFrame implementerer ActionListener {
File billede,
JTextField server = new JTextField ("") ;
JTextField username = new JTextField ("" ),
JTextField ImagePath = new JTextField ("" ),
JButton imageBrowse = new JButton ( " Find billede" ) ;
JPasswordField password = new JPasswordField ("" ),
JButton uploadButton = new JButton ( "Upload ")
public void actionPerformed ( ActionEvent ae) {
}
offentlig UploadForm () {
}
offentlige static void main ( String [] args ) {
}
< p> }
Denne enkle klasse skelet importerer alle de klasser, der vil være nødvendige fra standard Java biblioteker definerer de tre metoder som programmet vil anvende , og skaber de nødvendige elementer i brugergrænsefladen .
2
Indsæt følgende i " main "-metoden : Hej
JFrame f = new Java-programmører vil genkende dette som standard metode, der giver adgang til dit program fra operativsystemet . I dette tilfælde gør det meget lidt : det skaber rammen der holder den grafiske brugergrænseflade , sikrer, at programmet vil lukke ned , når brugeren lukker rammen, og gør rammen synlig for brugeren
< . br > 3
Indsæt følgende i " UploadForm " konstruktør ("den UploadForm ()" GridLayout ( 0,2 )),
this.add ( ImagePath )
this.add ( imageBrowse )
this.add (ny Label ( "Server" )),
this.add (server ),
this.add (ny Label ( "Username "));
this.add ( brugernavn) ; < br >
this.add (ny Label ( "Password "));
this.add (password ),
this.add ( uploadButton )
opstiller udseendet af den grafiske brugergrænseflade ved hjælp af " GridLayout " manager. Først er de to knapper i brugergrænsefladen fortalt at sende action begivenheder til dette program " actionPerformed " metoden . Derefter bliver GridLayout leder konfigureret til at arrangere elementer i brugergrænsefladen i et gitter med to kolonner og et ubegrænset antal rækker. Og endelig, er alle elementer i brugergrænsefladen tilføjet. Ordren spørgsmål : . Den GridLayout starter i top- yderste venstre grid position og fylder hele rækken før du flytter ned til den næste række
4
indsætte følgende ind i " actionPerformed "-metoden : Hej
if ( . ae.getSource ( ) er lig ( imageBrowse )) {
String s;
JFileChooser JFC = new JFileChooser ();
jfc.showDialog ( JFC , " Vælg en billedfil ");
s = jfc.getSelectedFile () getAbsolutePath (); .
imagePath.setText (s),
} else < br >
if ( ae.getSource ( ) er lig ( uploadButton .)) {
try {
File f = new File ( imagePath.getText ());
< p > String urlString = " ftp://" + username.getText ( ) + ":" + password.getText ( ) + " @ " + server.getText ( ) + " /" + f.getName ( ) < br >
URL url = new URL ( urlString )
URLConnection tilslutning = url.openConnection ();
connection.setDoOutput (sand) ,
BufferedOutputStream ud = nye BufferedOutputStream ( connection.getOutputStream ());
FileInputStream i = new 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 metode er lidt kompliceret , fordi actionPerformed metode har at gøre to ting . Hvis " imageBrowse " knappen er klikket , skal den præsentere brugere med en filvælgervinduet at give dem mulighed for at vælge en billedfil fra deres harddisk. Og på den anden side, hvis " uploadButton " er klikket , skal den åbne filen valgt med billedet browser , åbne en FTP-forbindelse til en server (ved hjælp af URLConnection klasse) , og skriv data fra filen til web server.