Frage : Ftp in Java sichern

Hallo haben Expert

I eine diese Methode Antriebskraftakten zu einem ftp site. Aber ich kämpfe eine Spitze tue irgendein things.

Well, das ich maximale 5 Akten sofort laden möchte (*.xml) und eine Mitteilung zu empfangen, die die gleichen Akten wieder mit einem anderen Ext. (*.eof)

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

After diesem nehmen den gleichen Aktennamen mit einer anderen ext
12.eof
34.eof
56.eof
78.eof
910.eof

Then Bewegung dann zu einem einem anderen folder
1 laden:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
6:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
Paket fileuploads;

Import com.jcraft.jsch.*;
Import java.io.*;
Import java.util.*;

allgemeine Kategorie TestJSch {

	allgemeines TestJSch () {

	}

	allgemeine Staticlücke hauptsächlich (Schnur [] args) {

		Versuch {
			Schnur ftpHost = „IP address“;
			int-ftpPort = Hafen;
			Schnur ftpUserName = „username“;
			Schnur ftpPassword = „Kennwort“;
			Schnur ftpRemoteDirectory = „//dropzone/inbound/moneymarket/mmconfirmations/dev“;
			Schnur fileToTransmit = „C: /tmp/*.txt“;

			// verursachen zuerst einen JSch Lernabschnitt

			System.out.println („, session.") verursachend;
			JSch jsch = neues JSch ();
			Lernabschnittlernabschnitt = -null;
			Kanalkanal = -null;
			ChannelSftp c = Null;

			// anschließen jetzt und SFTP an den SFTP Bediener
			//
			Versuch {
				// verursachen einen Lernabschnitt, der durch unser username und Kennwort sendet
				Lernabschnitt = jsch.getSession (ftpUserName, ftpHost, ftpPort);
				System.out.println („Lernabschnitt created.");
				session.setPassword (ftpPassword);

				// gründen strenges HostKeyChecking zu keinem, also erhalten wir nicht das Unbekannte
				//-Wirtsschlüsselausnahme
				java.util. Eigenschaften Config = neues java.util. Eigenschaften ();
				config.put („StrictHostKeyChecking“, „nicht“);
				session.setConfig (Config);
				session.connect ();
				System.out.println („Lernabschnitt connected.");

				// öffnen den SFTP Kanal
				//
				System.out.println („Öffnung Channel.");
				Kanal = session.openChannel („sftp“);
				channel.connect ();
				c = (ChannelSftp) Kanal;
			} Fang (Ausnahme e) {
				System.err.println („nicht imstande, an ftp server anzuschließen.“
						+ e.toString ());
				Wurf e;
			}

			//-Änderung am Fernverzeichnis
			//
			System.out.println („, ändernd ftp zum Ferndir: “
					+ ftpRemoteDirectory);
			c.cd (ftpRemoteDirectory);

			// senden die Akte, die wir erzeugten
			Versuch {
				Akte f = neue Akte (fileToTransmit);
				System.out.println („, Akte als Ferndateiname speichernd: “ + f.getName ());
				c.put (neues FileInputStream (f), f.getName ());
			} Fang (Ausnahme e) {
				System.err.println („, die ferninstallierte Datei speichernd verlassen.“ + e.toString ());
				Wurf e;
			}

			// erhalten die Liste der Akten im Fernbedienerverzeichnis

			Vektor archiviert = c.ls (ftpRemoteDirectory);
			//-Maschinenbordbuch, wenn wir nichts herunterzuladen haben
			wenn (files.size () == 0) {
				System.out.println („keine Akten sind für download.") vorhanden;
			}


		}
			Fang (Ausnahme e) {
				System.err.println („Störung: “ + e.toString ());
		}

		System.out.println („Prozess Complete.");
		System.exit (0);

	}
} 

Antwort : Ftp in Java sichern

Die listFiles () Methode durch die Implementierung unten ersetzen. Sie gegeben wieder die Verlängerung im ensWith () Methodenunrecht; es kann nicht *.xml sein, das es die Verlängerung sein müssen, die Sie zur Methode führen.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
allgemeine statische Akte [] listFiles (Schnurverzeichnis, abschließende Schnurverlängerung) {
	    	
	    	Akte dir = neue Akte (Verzeichnis);
	    	
	    	FileFilter fileFilter = neues FileFilter () { 
	    		allgemeine Boolesche annehmen e (Aktenakte) { 
	    			Rückholfile.getName () .endsWith (Verlängerung); 
	    		} 
	    	};
	    	Rückholdir.listFiles (fileFilter); 
	    }
Weitere Lösungen  
 
programming4us programming4us