Hallo, ich versuche Dateien von einem Ort zum nächsten zu verschieben, was mir nicht wirklich gelingt und ich kann leider nicht herausfinden woran es hapert.
Hier mein Code
Es geht mir also explizit um diesen Teil
Hier mein Code
Java:
import java.io.*;
import java.util.*;
import java.nio.file.*;
class ImportTreepad
{
public static void main ( String[] args )
{
ImportTreepad n = new ImportTreepad();
File dir = new File("//Pfad ist korrekt");//Höchster Pfad wird aufgerufen
n.listDir(dir);
}
public String dateiformat(String datei){
datei=datei.replaceAll(" ", ""); //String wird in ein Format geändert, dass Foswiki erkennen kann
datei=datei.toLowerCase();
datei=datei.replace("ä","ae");
datei=datei.replace("ö","oe");
datei=datei.replace("ü","ue");
datei=datei.substring(0,datei.lastIndexOf(46));
return(datei);
}
public void leseschreibedatei(File dir, String datei){
boolean bildjpg=false;
boolean bildgif=false;
String file="";
datei=dateiformat(datei);
System.out.println(datei);
try {
Scanner scanner = new Scanner(dir);
File ausgabedatei = new File("C:\\xampp\\htdocs\\wiki\\data\\TreePad\\"+datei+".txt");
BufferedWriter bw = new BufferedWriter(new FileWriter(ausgabedatei));
while ( scanner.hasNextLine() ){// jede Zeile wird einzelnd eingelesen
String line=scanner.nextLine();
if(line.contains(".jpg")){
int indexo=line.indexOf("<IMG SRC=");
String lineo=line.substring(0, indexo);
int indext=line.indexOf("/>");
String linet=line.substring(indext+2, line.length());
int indexjpg=line.indexOf(".jpg"); // der Name der Datei wird gefiltert
file=line.substring(indexo+10, indexjpg);
line=lineo+"%ATTACHURL%/"+file+".jpg"+linet; //die Zeile wird mit dem richtigen link wieder zusammengesetzt
bildjpg=true;
}else if(line.contains(".gif")){
int indexo=line.indexOf("<IMG SRC=");
String lineo=line.substring(0, indexo);
int indext=line.indexOf("/>");
String linet=line.substring(indext+2, line.length());
int indexjpg=line.indexOf(".jpg"); // der Name der Datei wird gefiltert
file=line.substring(indexo+10, indexjpg);
line=lineo+"%ATTACHURL%/"+file+".gif"+linet; //die Zeile wird mit dem richtigen link wieder zusammengesetzt
bildgif=true;
}
bw.write(line);
bw.newLine();
}
bw.close();
scanner.close();
if(bildjpg==true){
File f = new File("C:/xampp/htdocs/wiki/pub/TreePad/"+datei);
f.mkdir();
File quellDatei = new File(dir.getParent()+"/"+file+".jpg");
File zielDatei = new File("C:/xampp/htdocs/wiki/pub/TreePad/"+datei+"/");
quellDatei.renameTo(zielDatei);
System.out.println(dir.getParent()+"/"+file+".jpg");
}
if(bildgif==true){
File f = new File("C:/xampp/htdocs/wiki/pub/TreePad/"+datei);
f.mkdir();
File quellDatei = new File(dir.getParent()+"/"+file+".jpg");
File zielDatei = new File("C:/xampp/htdocs/wiki/pub/TreePad/"+datei+"/");
quellDatei.renameTo(zielDatei);
}
}catch (IOException ioe) {
System.out.println("Habe gefangen: "+ioe);
}
}
public void kopierebild(String absoluterpfad, String dateiname){
dateiformat(dateiname);
try {
Path copySourcePath = Paths.get(absoluterpfad);
Path copyTargetPath = Paths.get("C:\\xampp\\htdocs\\wiki\\pub\\TreePad\\"+dateiname+"\\");
String dirName = "C:\\xampp\\htdocs\\wiki\\pub\\TreePad\\"+dateiname+"\\";
File f = new File(dirName);
if (!(f.isDirectory())) {
f.mkdir();
}
Files.copy( copySourcePath, copyTargetPath);
}catch (IOException ioe) {
System.out.println("Habe gefangen: "+ioe);
}
}
public void listDir(File dir) {
File[] files = dir.listFiles();
if (files != null) {
for (int i = 0; i < files.length; i++) {
//System.out.print(files[i].getAbsolutePath());
if (files[i].isDirectory()) {
//System.out.print(" (Ordner)\n");
listDir(files[i]); // ruft sich selbst mit dem
// Unterverzeichnis als Parameter auf
}
else if(files[i].getAbsolutePath().endsWith( ".jpg") || files[i].getAbsolutePath().endsWith(".gif")) {
//System.out.print(" (BildDatei)\n");
//kopierebild(files[i].getAbsolutePath(), files[i].getName());
}else if(files[i].getAbsolutePath().endsWith(".html")){
//System.out.print(" (HTMLDatei)\n");
if(files[i].getName() != "index.html"){
leseschreibedatei(files[i], files[i].getName());
}
//System.out.println(files[i].getName());
//System.out.println("Das hier gibt files[i] "+files[i]+" aus Und das hier gibt files[i].getName() "+files[i].getName()+" aus");
}
}
}
}
}
Es geht mir also explizit um diesen Teil
Java:
File quellDatei = new File(dir.getParent()+"/"+file+".jpg");
File zielDatei = new File("C:/xampp/htdocs/wiki/pub/TreePad/"+datei+"/");
quellDatei.renameTo(zielDatei);