hier der Sourcecode: die Methode holt sich mehrere Dateien und gibt die Zeilen in einem Vector zurück anschließend wird der Dateiname geändert, damit die Datei nicht erneut verarbeitet wird.
public Vector getFileAndRename(String sPfad, String sSuchBegriff) throws Exception {
BufferedReader br = null;
BufferedReader brFile = null;
Vector zeilen = new Vector();
String line = new String();
this.sSuchBegriff = sSuchBegriff;
try {
try {
// inFileName = ftpClient.nameList(sPfad);
inFileName3 = ftpClient.listFiles(sPfad, ftpFF);
} catch (FileNotFoundException ex2) {
throw ex2;
}
if (inFileName3 == null || inFileName3.length == 0) { // sind Dateien vorhanden?
throw new FileNotFoundException();
}
// for (FTPFile ftpFile : inFileName3) {
for (int i = 0; i < inFileName3.length; i++) {
System.out.println("Datei:" + inFileName3[0].getName());
// FTPFile ftpFile = inFileName3; // hier paasiert der rename in Old
InputStream inFile = null;
inFile = ftpClient.retrieveFileStream(sPfad + inFileName3.getName()); // Datei-Name
brFile = new BufferedReader(new InputStreamReader(inFile));
while ((line = brFile.readLine()) != null) {
zeilen.add(line); // Datei-Zeilen im Vector speichern
}
String sFileName = sPfad + inFileName3.getName();
String sFileNameBak = sFileName.replace("peem/", "peem/bak/");
boolean rs, rs2;
try {
rs = ftpClient.rename(sFileName, sFileName + ".old"); } catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// ftpClient.rename(ftpFile.getName(),ftpFile.getName() + ".old");
}