Fråga : Säkra FTP i Java

Hi Expert

I har en metod som uploads sparar till ett ftp site. Men I-förmiddagen som kämpar a, bet gör någon things.

Well som jag önskar att upload max 5 sparar strax (*.xml) och mottar ett meddelande, som upload samma sparar med en denna olik

E.g.
12.xml
34.xml
56.xml
78.xml
910.xml

After för ext (*.eof) tar igen samma sparar känt med en olik flyttning för ext
12.eof
34.eof
56.eof
78.eof
910.eof

Then därefter till en annan för class=" codeSnippet " för folder
1 för >

paketera fileuploads;
import com.jcraft.jsch.*;
import java.io.*;
import java.util.*;
allmänhet klassificerar TestJSch {
offentliga TestJSch () {
}
utan laga kraft huvudsakligt för offentlig statisk elektricitet (stränga [] args) {
försök {
Stränga ftpHost = ”IPet address”;
int-ftpPort = port;
Stränga ftpUserName = ”username”;
Stränga ftpPassworden = ”lösenordet”;
Stränga ftpRemoteDirectory = ”//dropzone/inbound/moneymarket/mmconfirmations/dev”;
Stränga fileToTransmit = ”C: /tmp/*.txt”;
// skapar först en JSch period
System.out.println (”skapa period. ”);
JSch jsch = nya JSch ();
Periodsperiod = ogiltigt;
Kanalisera kanaliserar = ogiltigt;
ChannelSftp c = ogiltigt;
// förbinder nu och SFTP till SFTP-serveren
//
försök {
// skapar en period som överför till och med vårt username och lösenord
period = jsch.getSession (ftpUserName, ftpHost, ftpPort);
System.out.println (”perioden skapade. ”);
session.setPassword (ftpPassword);
// ställer in strikt HostKeyChecking till inget, så vi får inte okändan
// varar värd nyckel- undantag
java.util. Rekvisitaconfig = ny java.util. Rekvisita ();
config.put (”StrictHostKeyChecking”, ”inte”);
session.setConfig (config);
session.connect ();
System.out.println (”perioden förband. ”);
// öppnar SFTPEN kanaliserar
//
System.out.println (”öppningen kanaliserar. ”);
kanalisera = session.openChannel (”sftp”);
channel.connect ();
c = (ChannelSftp) kanaliserar;
} fånga (undantag e) {
System.err.println (”oförmöget att förbinda till en ftp-server.”,
+ e.toString ());
kast e;
}
// ändring till det avlägsna arkivet
//
System.out.println (”ändra till avlägsen dir för FTP: ”,
+ ftpRemoteDirectory);
(ftpRemoteDirectory) c.cd;
// överför spara som vi frambragte
försök {
Spara f = nytt sparar (fileToTransmit);
System.out.println (”lagra spara som avlägsen filename: ” + f.getName ());
c.put (nya FileInputStream (f), f.getName ());
} fånga (undantag e) {
System.err.println (”lagra fjärrkontroll spara missat.”, + e.toString ());
kast e;
}
// får lista av sparar i det avlägsna serverarkivet
Vektorn sparar = (ftpRemoteDirectory) c.ls;
// loggar, om vi har ingenting som ska nedladdas
om, == 0 (för files.size ()) {
System.out.println (”inget sparar är tillgängligt för nedladdning. ”);
}
}
fånga (undantag e) {
System.err.println (”fel: ” + e.toString ());
}
System.out.println (”processaa avsluta. ”);
System.exit (0);
}
} <-/pre>

" klar "

Svar : Säkra FTP i Java

Byt ut metoden för listFiles () med det nedanföra genomförandet. Du har igen givit f8orlängningen i metodfel för ensWith (); det kan inte vara *.xml som det skulle måste att vara f8orlängningen, som du passerar till metoden.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
den offentliga statisk elektricitet sparar [] listFiles (stränga arkivet, finalen stränger f8orlängning) {
	    	
	    	Spara dir = nytt sparar (arkivet);
	    	
	    	FileFilter fileFilter = nya FileFilter () { 
	    		offentliga boolean accepterar (spara sparar) { 
	    			gå file.getName () .endsWith (f8orlängning) tillbaka; 
	    		} 
	    	};
	    	återgång dir.listFiles (fileFilter); 
	    }
Andra lösningar  
 
programming4us programming4us