# Probleme mit File renameTo bzw. File delete @@



## tyhaitrieu7 (9. Sep 2014)

hallo leute,

ich bin grad dabei mittels jsp so ne art berichtswesen zu erstellen - funktionen dabei sind insert, select und update. mein update vorgang sieht folgender maßen aus: 1. datei "data.csv" einlesen und in array speichern, 2. in array änderungen vornehmen, 3. array in "dataStore.csv" schreiben, 4. data.csv löschen 5. dataStore.csv renameTo data.csv

das problem ist: es funktioniert beliebig oft - nur irgendwann hängt er sich irgendwo bei delete bzw. renameTo auf - keine ahnung warum!!!

schritt 4 und 5 passieren auf ner eigenen jsp - zur info:

Code:
<%-- Imports for the Page --%>
  <%@ page import="java.util.*, java.text.*, java.io.*"%> 

  <%

  String tempFile = "c:\\programme\\apachetomcat\\webapps\\bericht\\data.csv";
  String tempFile2 = "c:\\programme\\apachetomcat\\webapps\\bericht\\dataStore.csv";
  boolean deleted = false;
  boolean renamed = false;

  while(deleted == false)
  {
  File file = new File(tempFile);
  deleted = file.delete();
  }

  while(renamed == false)
  {
  File file2 = new File(tempFile2);
  File file3 = new File(tempFile);

  renamed = file2.renameTo(file3);
  }
die dateien sind weder offen oder von anderen programmen benützt - zumindest nicht aus user-sicht!

plz help!!!


----------



## stg (9. Sep 2014)

Direkt deine Frage beantworten kann ich nicht, und vermutlich auch kein anderer, da es mit den gegebenen Informationen nicht wirklich möglich ist den Fehler nachzuvollziehen. Gibt es eine Fehlermeldung im Browser oder in der Konsole/Log? Wenn ja, poste diese hier. Oder friert einfach nur der Bildschirm ein? Gibt es hier möglicherweise ein Problem mit fehlgeschlagenen AJAX calls oder einem session time out o.Ä.?

Unabhängig davon fallen ein paar Sachen direkt auf
- Muss es JSP sein? Wenn das keine zwingende Anforderung ist, dann nutze lieber JSF 2.1/2.2
- Die Business logik hat in der View nix verloren. Kümmere dich in der View wirklich nur um die Anzeige und ggfls Entgegenenname der Benutzereingaben und Anzeigen von Systemmeldungen an den User usw. Die eigentlich Logik (hier das Speicher und lesen der Dateien usw) gehört (mitsamt gescheitem Erro handling) in eine getrennte Schicht.


----------



## fehlerfinder (15. Sep 2014)

mmh - mir fällt eine ganz andere Sache auf: wenn ich unten in den Links gucke, gibt's dort einen "baugleichen" Thread von 2004 (http://www.java-forum.org/allgemeines-ee/6938-probleme-file-renameto-bzw-file-delete.html. Ist der auch von dir?

Bzgl. des Verweises auf JSF (von stg):
Warum meinst du, dass das File-Handling-Problem leichter mit JSF zu lösen ist? Datei-Operationen sollten doch von der benutzten Technologie unabhängig sein. Oder hat JSF da spezielle Funktionen im Gepäck? (ich kenne von JSF, außer dem Namen, nicht viel - daher meine ernst gemeinte Frage)


----------



## stg (19. Sep 2014)

fehlerfinder hat gesagt.:


> Bzgl. des Verweises auf JSF (von stg):
> Warum meinst du, dass das File-Handling-Problem leichter mit JSF zu lösen ist? Datei-Operationen sollten doch von der benutzten Technologie unabhängig sein. Oder hat JSF da spezielle Funktionen im Gepäck? (ich kenne von JSF, außer dem Namen, nicht viel - daher meine ernst gemeinte Frage)



Der Hinweis auf JSF (mit Facelets) war eher allgemein gedacht, da es (mal abgesehen von bestehenden alten Projekten) eigentlich keinen Grund mehr gibt so eine veraltete Technologie zu verwenden.
Moderne JSF-Komponentenframeworks (wie z.B. PrimeFaces) bieten aber in der Tat schon von Haus aus Up- und Download-Komponenten.

Unabhängig davon erscheint mir das gesamte Vorhaben des TE schon konzeptuell recht fragwürdig. Aber um da genauer beurteilen zu können, fehlen (mir) zusätzliche Informationen.


----------

