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