Java kommer med en inbyggd uppsättning verktyg för att hantera nätverksanslutningar och både läsa och skriva data till en server , förutsatt att du använder vanliga Internet-protokoll som HTTP och FTP . I några få steg kan du skapa en snabb ansökan , med ett grafiskt användargränssnitt , som kommer att ladda upp bilder till en befintlig FTP-server . Instruktioner
1
Öppna din favorit text editor för Java-utvecklingsmiljö och klistra in följande i den :
import java.awt.GridLayout ,
import java.awt . Etikett ;
import java.awt.event.ActionEvent ;
import java.awt.event.ActionListener ;
import java.io.BufferedOutputStream ;
import java.io.File ,
import java.io.FileInputStream ,
import java.net.URL ,
import java.net.URLConnection ;
import javax.swing *; .
public class UploadForm utökar JFrame implementerar ActionListener {
bild
Arkiv ,
JTextField server = new JTextField ( " " ) ;
JTextField username = ny JTextField ( " " ) ;
JTextField ImagePath = ny JTextField ( " " ) ;
JButton imageBrowse = new Button ( " Sök Bild " ) ;
JPasswordField lösenord = ny JPasswordField ( " " ) ;
JButton uploadButton = new Button ( " Upload " ) ;
public void actionPerformed ( ActionEvent ae ) {
}
offentlig UploadForm ( ) {
}
public void main ( String [] args ) {
}
}
enkel klass skelett importerar alla klasser som kommer att behövas från standard Java- biblioteken , definierar de tre metoderna programmet använder , och skapar de nödvändiga element i användargränssnittet .
2
Klistra in följande i " main "-metoden :
JFrame f = ny Java programmerare kommer att känna igen detta som standardmetod som ger entrén i ditt program från operativsystemet . I detta fall , gör det mycket lite : det skapar den ram som håller det grafiska användargränssnittet , säkerställer att programmet stängs när användaren stänger ramen och gör ramen synlig för användaren
< . br > 3
Klistra in följande i " UploadForm " konstruktor ( den " UploadForm ( ) " GridLayout ( 0,2 ) ) ;
this.add ( ImagePath ) ;
this.add ( imageBrowse ) ;
this.add ( nya Label ( " Server " ) ) ;
this.add ( server ) ,
this.add ( nya Label ( " Användarnamn " ) ) ;
this.add ( username ) ;
this.add ( nya Label ( " Password " ) ) ;
this.add ( lösenord ) ,
this.add ( uploadButton ) ;
ställer upp utseendet på det grafiska användargränssnittet med hjälp av " GridLayout " manager . Först är de två knapparna i användargränssnittet berättade att översända handlingsprogrammen händelser till detta program är " actionPerformed " metoden . Därefter GridLayout manager konfigurerad för att ordna elementen i användargränssnittet i ett rutnät med två kolumner och ett obegränsat antal rader . Och , till sist , är alla element i användargränssnittet tillsätts . Ordern frågor : . Den GridLayout börjar på toppen - vänstra startposition och fyller hela raden innan han flyttade ner till nästa rad
4
klistra in följande i " actionPerformed " metoden :
om ( . ae.getSource ( ) är lika ( imageBrowse ) ) {
String s ;
JfileChooser JFC = ny JfileChooser ( ) ;
jfc.showDialog ( JFC , " Välj en bildfil " ) ;
s = jfc.getSelectedFile ( ) getAbsolutePath ( ) , .
imagePath.setText (s ) ,
} else
om ( ae.getSource ( ) är lika ( uploadButton ) . ) {
try {
File f = new File ( imagePath.getText ( ) ) ;
< p> String urlString = " ftp://" + username.getText () + ":" + password.getText () + "@" + server.getText () + "/" + f.getName ();
URL url = new URL ( urlString ) ;
URLConnection anslutning = url.openConnection ( ) ;
connection.setDoOutput ( true ) ;
BufferedOutputStream ut = nya BufferedOutputStream ( connection.getOutputStream ( ) ) ;
FileInputStream i = new FileInputStream ( f) ,
byte [ ] buffer = new byte [ 1024 ] ;
int i = 0 ;
medan ( ( i = in.read ( buffert ) ) > = 0 ) {
out.write ( buffert , 0 , i) ;
}
out.close ( ) ;
in.close ( ) ;
} catch ( Exception e ) {
System.out.println ( e.getMessage ( ) ) ;
}
}
Denna metod är lite komplicerat , eftersom actionPerformed metoden har att göra två saker . Om " imageBrowse " klickas , måste det presentera användare med en filväljardialogen att tillåta dem att välja en bildfil från sin hårddisk . Och , å andra sidan , om " uploadButton " klickas , måste den öppna filen valts med bildläsaren , öppna en FTP-anslutning till en server ( med URLConnection klassen ) , och skriva data från filen till webben server . Addera