Übergabeparameter Konstruktor (File)

xi

Mitglied
Hallo,

ich experimentiere gerade mit der Klasse File herum.
Nun habe ich dabei versehentlich eine nicht vorhandene Datei an den Konstruktor von File übergeben.
D.h. so etwas:
file file1=new file("keinedatei");

Im weiteren Verlauf wurde in diese Datei ein Text eingelesen und anschließend ausgegeben. Alles hat funktioniert. Woran liegt das? Wird Temporär eine Datei "keinedatei" erstellt?
 

Flown

Administrator
Mitarbeiter
Nein die Datei wird nicht temporär erstellt, sondern wird in deinem Ausführungsverzeichnis(woraus du dein Java-Programm startest) erstellt, falls es nicht vorhanden ist.
 

RalleYTN

Bekanntes Mitglied
Stimmt, aber mit den meisten Methoden, mit denen man in ein File schreibt, wird das File erzeugt. Nachdem schon in das File geschrieben wurde, heißt das automatisch, dass es erstellt wurde.
Bevor man in eine File schreiben kann muss man sie erst mit File.createNewFile(); erstellen. Wenn man versucht in eine File zu schreiben bevor man das macht bekommt man eine FileNotFoundException.
 

Flown

Administrator
Mitarbeiter
Wie schon oben beschrieben, das File wird automatisch erzeugt, wenn man hineinschreibt! Hier nachzulesen beim FileWriter (resp. FileOutputStream).
Schon klar das es erzeugt wird, aber das muss nicht explizit stattfinden.
 

xi

Mitglied
Wie schon oben beschrieben, das File wird automatisch erzeugt, wenn man hineinschreibt! Hier nachzulesen beim FileWriter (resp. FileOutputStream).
Schon klar das es erzeugt wird, aber das muss nicht explizit stattfinden.

Ja, es wird tatsächlich automatisch erzeugt (nicht temporär). Ich habe das File nicht gleich bemerkt.
Ruft der Konstruktor dann irgendeine Methode auf die das File erzeugt? Bzw. wie läuft dies intern ab? Weil eigentlich wird ja nur ein Objekt zu einem zugehörigen File erstellt (laut dieser Doc.), oder verstehe ich da etwas falsch?
 

xi

Mitglied
*push*

Ich würde immernoch gerne wissen wieso ein File (beim aufruf von new file) erzeugt wird. Bzw. wo man solche Details nachlesen kann, denn aus der Doc geht das für mich nicht hervor.
 

Flown

Administrator
Mitarbeiter
Wieso der push?

Das File wird nicht beim Konstruktor erstellt. Stells dir vor wie ein Zeiger. Erst wenn du dann Operationen ausführst, wie schreiben (deshalb auch die ganze Zeit die Rede von den OutputStreams) wird das File dann automatisch erzeugt!
 

xi

Mitglied
Ja du hast recht, der FileWriter erzeugt die Datei. Aber wo kann ich das nachlesen?

Der von dir gepostete Link erklärt dies für mich nicht. Es wird lediglich definiert, dass zu einer gegebenen Datei ein Objekt erzeugt wird. Was passiert wenn keine solche Datei vorhanden ist wird nicht erklärt. Lediglich indirekt in der "Throws" Klausel wird angedeutet, dass eine Datei erzeugt wird, falls nicht vorhanden. Aber das sollte doch auch irgendwo explizit dokumentiert sein?
 

Flown

Administrator
Mitarbeiter
So Auszug aus der Doku für FileOutputStream:
Code:
A file output stream is an output stream for writing data to a File or to a FileDescriptor.
Whether or not a file is available or may be created depends upon the underlying platform. 
Some platforms, in particular, allow a file to be opened for writing by only one FileOutputStream (or other file-writing object) at a time.
In such situations the constructors in this class will fail if the file involved is already open.

Steht drinnen, dass das File geöffnet wird und es liegt am System, ob es erstellt wird oder nicht.
et voilà
 

RalleYTN

Bekanntes Mitglied
Da steht das ein paar Betriebssysteme es erlauben, dass mehrere FileOutputStreams auf eine File zugreifen können. Sollte das System es nicht erlauben, wird der zweite FileOutputStream eine Exception werfen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Zweimal dieselbe Methode als Übergabeparameter nutzen Java Basics - Anfänger-Themen 1
C Java Klassen/Methoden/Übergabeparameter Java Basics - Anfänger-Themen 4
C Gui- Klasse erkennt Übergabeparameter aus Methode nicht Java Basics - Anfänger-Themen 4
R Verständnisfrage zu Objekten u. Übergabeparameter Java Basics - Anfänger-Themen 8
S Java String[]args Übergabeparameter Java Basics - Anfänger-Themen 2
W Darf man den Übergabeparameter in einer Methode nicht verwenden? Java Basics - Anfänger-Themen 2
A Methoden "Pointer" als Übergabeparameter Java Basics - Anfänger-Themen 5
J Übergabeparameter einer Methode Java Basics - Anfänger-Themen 2
K Methode als Übergabeparameter Java Basics - Anfänger-Themen 8
P Methoden + Übergabeparameter Java Basics - Anfänger-Themen 7
D Übergabeparameter einer Methode Java Basics - Anfänger-Themen 6
K Mothode + Übergabeparameter ! Java Basics - Anfänger-Themen 4
W Null-Pointer trotz Konstruktor? Java Basics - Anfänger-Themen 9
M Konstruktor-Aufruf im Konstruktor, aber nicht am Anfang? Java Basics - Anfänger-Themen 4
T Schlüsselworte Schlüsselwort this im Konstruktor Java Basics - Anfänger-Themen 3
frager2345 Warum muss ich hier im Konstruktor meine Exeption nicht abfangen ? Java Basics - Anfänger-Themen 4
J Konstruktor Java Basics - Anfänger-Themen 18
frager2345 Java Singleton Muster -> Methode für Konstruktor mit Parametern Java Basics - Anfänger-Themen 3
G Welche Attribute kommen in den Konstruktor? Java Basics - Anfänger-Themen 5
M wird der Konstruktor nicht als 1. ausgeführt? Java Basics - Anfänger-Themen 13
G Konstruktor und update Java Basics - Anfänger-Themen 4
K Kopier-Konstruktor Java Basics - Anfänger-Themen 6
S Default Konstruktor Java Basics - Anfänger-Themen 7
M Konstruktor ohne Übergabe eines Wertes Java Basics - Anfänger-Themen 7
M Wie kann ich in einem Konstruktor die Methode eines anderen Interfaces mit den jeweiligen Parametern aufrufen? Java Basics - Anfänger-Themen 8
J Vier gewinnt in Java,Spieler Konstruktor Java Basics - Anfänger-Themen 8
kxrdelis Konstruktor für ein Rechtwinkliges Dreieck Java Basics - Anfänger-Themen 10
Zeppi OOP Bruch kürzen im Konstruktor Java Basics - Anfänger-Themen 2
HorstSchröder Konstruktor mit Initialwert Java Basics - Anfänger-Themen 1
C Konstruktor ab serialisiertem Objekt Java Basics - Anfänger-Themen 4
J Input/Output Konstruktor ergänzen, der zur Datei mit einem Objekt passt Java Basics - Anfänger-Themen 0
InfinityDE Problem mit Datenübergabe an Konstruktor Java Basics - Anfänger-Themen 7
B Konstruktor mit Array als Parameter Java Basics - Anfänger-Themen 3
G Variablen Array Länge über den Konstruktor definieren Java Basics - Anfänger-Themen 4
L Konstruktor für eine Map-Datei/Map-Datei einlesen Java Basics - Anfänger-Themen 5
C Interface und Konstruktor Java Basics - Anfänger-Themen 1
H Generische Konstruktor Java Basics - Anfänger-Themen 12
MiMa Seltsames Verhalten im Konstruktor Java Basics - Anfänger-Themen 6
S Konstruktor passt nicht zum Rest Java Basics - Anfänger-Themen 11
C Unbekannter "Konstruktor"?? Java Basics - Anfänger-Themen 10
W OOP Warenlager mit Array(Konstruktor, Methoden) Java Basics - Anfänger-Themen 39
R Objekt in Konstruktor ist nicht zulässig Java Basics - Anfänger-Themen 5
A Mit einer Methode den Konstruktor aufrufen? Java Basics - Anfänger-Themen 2
B Warum können super() und this() nicht gemeinsam in einem Konstruktor verwendet werden? Java Basics - Anfänger-Themen 7
K Konstruktor für ein Objekt mit Zugriffsmethoden Java Basics - Anfänger-Themen 7
H Unterschied Konstruktor und Klassenname x = new Klassenname; Java Basics - Anfänger-Themen 3
B Klassen Array Parameter im Konstruktor? Java Basics - Anfänger-Themen 4
E Konstruktor mit Methode Java Basics - Anfänger-Themen 7
E ArithmeticException im Konstruktor Java Basics - Anfänger-Themen 4
S Konstruktor, Objekte Java Basics - Anfänger-Themen 4
F Konstruktor richtig implementiert? Frage zu Benutzereingaben... Java Basics - Anfänger-Themen 9
W Typecastin im Konstruktor? Java Basics - Anfänger-Themen 2
A Variablen Variablenwert über Konstruktor ändern Java Basics - Anfänger-Themen 3
F Arrays im Konstruktor Java Basics - Anfänger-Themen 5
C Konstruktor mit und ohne Parameterliste Java Basics - Anfänger-Themen 13
L Instanzvariablen, Veerbung, Konstruktor Java Basics - Anfänger-Themen 32
E Best Practice Konstruktor mit bestehender Intanz der gleichen Klasse aufrufen Java Basics - Anfänger-Themen 4
E Plausibilitätsprüfung in dem Konstruktor mit Ausnahmebehandlung Java Basics - Anfänger-Themen 8
A Aufruf von Konstruktor , obwohl 2 Parameter weggelassen werden Java Basics - Anfänger-Themen 7
A Aufruf von Konstruktor , obwohl 2 Parameter weggelassen werden Java Basics - Anfänger-Themen 0
D Compiler-Fehler Konstruktor von Superklasse übernehmen Java Basics - Anfänger-Themen 1
P Counter im Konstruktor Java Basics - Anfänger-Themen 11
J toString-Methode in Verbindung mit varArgs-Konstruktor Java Basics - Anfänger-Themen 18
I Einträge in den Konstruktor Java Basics - Anfänger-Themen 3
Aprendiendo [JAVA-Syntax] (int... variable) bei einem Konstruktor Java Basics - Anfänger-Themen 8
J Superklassen Konstruktor Verständnisfrage Java Basics - Anfänger-Themen 1
G Int-Array im Konstruktor Parameter Java Basics - Anfänger-Themen 37
T Datentypen Warum mit Konstruktor Objektvariablen initalisieren? Java Basics - Anfänger-Themen 19
A Vererbung bei Klassen mit Objekt der Klasse im Konstruktor Java Basics - Anfänger-Themen 4
P Konstruktor. Java Basics - Anfänger-Themen 4
D Best Practice Objekt automatisch im Konstruktor füllen? Java Basics - Anfänger-Themen 9
D Objekt oder Konstruktor Java Basics - Anfänger-Themen 2
F Java default Konstruktor Java Basics - Anfänger-Themen 1
R Fragen über den Konstruktor Java Basics - Anfänger-Themen 0
T Konstruktor mit Referenzdatentypen Java Basics - Anfänger-Themen 5
H Klassen Konstruktor Parameter als Instanzvariablen zwischen speichern... Java Basics - Anfänger-Themen 11
T setter im Konstruktor einbauen? Java Basics - Anfänger-Themen 8
R ArrayList im Konstruktor. Java Basics - Anfänger-Themen 4
T Konstruktor Probleme Java Basics - Anfänger-Themen 3
J Wie lässt sich der Konstruktor einer Klasse einer Funktion einer Klasse nutzen. Java Basics - Anfänger-Themen 4
S Variable, die im Konstruktor gesetzt wird, wird nicht gefunden vom Compiler. Java Basics - Anfänger-Themen 4
C Generic im Konstruktor Java Basics - Anfänger-Themen 1
F Privater Konstruktor und statische Methoden Java Basics - Anfänger-Themen 4
W Konstruktor von FileInputStream nicht gefunden Java Basics - Anfänger-Themen 18
B Methoden Konstruktor im Konstruktor aufrufen Java Basics - Anfänger-Themen 2
N Aufgabe: Pizza Konstruktor mit mehreren beliebigen Durchmesser/Preiskombinationen Java Basics - Anfänger-Themen 8
K arraygröße durch variablen Konstruktor? Java Basics - Anfänger-Themen 7
K ArrayList in Konstruktor - wie späterer Zugriff Java Basics - Anfänger-Themen 2
G Verwendung von Konstruktor Java Basics - Anfänger-Themen 8
K Wieso muss man finale statische Variablen sofort oder eben im Konstruktor initialisieren? Java Basics - Anfänger-Themen 2
C Konstruktor in Abstrakten Klassen Java Basics - Anfänger-Themen 4
B Konstruktor Problem Java Basics - Anfänger-Themen 8
Joew0815 konstruktor und damit erstellte objekte Java Basics - Anfänger-Themen 1
K Hashtable mit eigenen Konstruktor Java Basics - Anfänger-Themen 2
S Java Fragen Konstruktor & Statische Methoden Java Basics - Anfänger-Themen 4
H Fehler im Konstruktor abfangen Java Basics - Anfänger-Themen 10
J Konstruktor Problem bei Vererbung Java Basics - Anfänger-Themen 1
I Java Eingabe aus einer anderen Klasse in eine andere an Konstruktor übergeben Java Basics - Anfänger-Themen 4
O Konstruktor und Default Konstruktor Java Basics - Anfänger-Themen 7
S Kapselung Objekt bei Übergabe an Konstruktor nicht initalisiert Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben