Pfad zu einer Datei in eclipse-Projekt

  • 6 Antworten
  • Letztes Antwortdatum
R

renpen

Neues Mitglied
0
hey ho
Mein Pfad zu einer Datei ist wohl falsch, zumindest bekomme ich immer eine file not found exception.
Die datei auf die zugegriffen werden soll liegt in dem Projekt-Ordner unter Sources(hab ich selber angelegt) und heißt data.properties:

PHP:
try {
                    File data = new File("Sources\\data.properties");
                    Reader reader;
                    reader = new FileReader(data);
                     dataProp = new Properties();
                        try {
                            dataProp.load( reader );
                        
                } catch (FileNotFoundException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (IOException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                }
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                
                
               
            
        }
        //    System.out.println(dataProp.getProperty("test"));
edit1:
folgendes funtioniert leider auch nicht
PHP:
try {
                    InputStream path=DataEingeben.class.getResourceAsStream("data.properties");
                    File data = new File(path.toString());
                   
//                    File data = new File("Sources\\data.properties");
                    Reader reader;
                    reader = new FileReader(data);
                     dataProp = new Properties();
                        try {

dafür habe ich dann die properties in das package getan wo auch die klassen drin sind
 
Zuletzt bearbeitet:
ok, jetzt stürtzt das Programm zumindest nicht mehr ab, ich bekomme aber nach wie vor einen System.err von logcat angezeigt:
java.io.FileNotFoundException: /libcore.net.url.JarURLConnectionImpl$JarURLConnectionInputStream@42756010: open failed: ENOENT (No such file or directory)

Code:
PHP:
try {
                    InputStream path=MainActivity.class.getResourceAsStream("data.properties");
                   File data = new File(path.toString());
                    
                    
                    
                 
                   
//                    File data = new File("Sources\\data.properties");
                    Reader reader;
                    reader = new FileReader(data);
                     dataProp = new Properties();
                        try {
                            dataProp.load( reader );
                        
                } catch (FileNotFoundException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (IOException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                }
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                
                
               
            
        }
        //    System.out.println(dataProp.getProperty("test"));

Ich denke das Problem liegt in dieser Zeile:
PHP:
 File data = new File(path.toString());
ich denke nicht das man das so machen kann, also den inputstream einfach in einen String machen. Wie geht es richtig ?
 
Der Fehler dürfte eine Zeile vorher liegen.
Aber auch einen Stream in ein String zu verwandelt funktioniert nicht.

Für den Teil kannst du aber direkt den Inputstream an die load() methode der Properties Klasse übergeben also:

InputStream path = ......
.....
dataProp.load(path)

FÜr den InputStream versuchs mal hiermit:
InputStream inputStream = getResources().openRawResource(R.raw.data);

Dafür musst du die properties Datei aber in den raw Ordner in deinem Android Project legen. (unter res/raw)

Sollte grundsätzlich funktionieren
 
Geht immernoch nicht, bekomme eine nullpointerException

PHP:
InputStream path=getResources().openRawResource(R.raw.data);
    Properties dataProp = null;

                         try {
                            dataProp.load(path); //hier kommt die nullpointerexception 
                        } catch (IOException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }
hatte keinen raw ordner, habe diesen unter res dann angelegt und die properties datei da rein getan

auch damit bekomme ich eine nullPointer:
PHP:
    InputStream propStream=MainActivity.class.getResourceAsStream("data.properties");
 
Zuletzt bearbeitet:

Properties dataProp
= null;

dataProp.load(path);

Erst setzt du dataProp null, und dann rufst du es auf.

Hier noch mal die Erklärung, was passiert, wenn versucht eine Methode auf ein null-Object auszuführen:

NullPointerException (Java Platform SE 7 )
 
  • Danke
Reaktionen: renpen
Hey,
hatte das eigentlich als Instanzvarible definiert und nur dorthin kopiert weil ich der Übersicht halber nicht den ganzen Code kopieren wollte. Danke, aber ich weiß was eine nullPointerException bedeutet ;D.

dennoch, ich habe vergessen dataProp zu initialisieren. Daran lags, jetzt läufts

Ich denke das lag daran, dass ich in aus irgenteinem Grund gedacht habe das durch.load automatisch die properties da rein geladen wird.
Aber, klar, wo kein Objekt, da keine Methode load, böser Fehler:sleep:


Danke ;D
 

Ähnliche Themen

AnnaBauer21
Antworten
0
Aufrufe
487
AnnaBauer21
AnnaBauer21
D
Antworten
8
Aufrufe
763
jogimuc
J
S
Antworten
7
Aufrufe
1.196
Silvasurf
S
AnnaBauer21
Antworten
6
Aufrufe
986
AnnaBauer21
AnnaBauer21
Zurück
Oben Unten