# HashMap FileInPut



## dandor (15. Apr 2017)

der folgende Code ist an sich für mich nachvollziehbar , allerdings erschliesst sich ein Problem für mich nicht .
wie Ihr sehr versuche ich die Erzeugung der Hashmap und den entsprechenden OutputStream in eine eigene Funktion auszulagern ,
,da ich diesen in vielen Stellen in meinem Code benötige. 

wenn ich die Erzeugung in eine eigene Funktion auslagere und die HasMap zurückgebe kann ich sie nicht mehr durchlaufen. Leider erschliesst sich mir die Logik nicht .Ich sitze schon seit gestern Abend und bin langsam hart frustriert .

```
public class Test {

    public HashMap Teste() throws FileNotFoundException, IOException, ClassNotFoundException {
        ObjectInputStream obj = new ObjectInputStream(new FileInputStream("C:/bestand/bestand.txt"));
        HashMap<String, Integer> bestand = (HashMap<String, Integer>) obj.readObject();
        return bestand;

    }

    public void leseAusDatei(HashMap bestand) {

        bestand.entrySet().forEach((entry) -> {
            String key = entry.getKey();
            Integer value = entry.getValue();
            System.out.println(key);
            System.out.println(value);

        });

    }

    public static void main(String[] args) throws IOException, FileNotFoundException, ClassNotFoundException {

        Test test = new Test();
        HashMap bestand = test.Teste();

        test.leseAusDatei(bestand);
    }
}
```

Ich würde mich sehr freuen wenn jemand einen Denkanstoß hätte


----------



## thecain (15. Apr 2017)

Wie schreibst du denn die Datei? Ist das eine serialisierte hashmap?


----------



## Xyz1 (15. Apr 2017)

Benutze doch bitte java-Code-Tags, wie in meiner Signatur beschrieben wird. 
(So mag kaum jemand lesen)


----------



## dandor (15. Apr 2017)

thecain hat gesagt.:


> Wie schreibst du denn die Datei? Ist das eine serialisierte hashmap?


Das ist der Versuch die Erzeugung von  "bestand" auszulagern und nur noch  in die 2. Methode zu übergeben ,allerdings kennt er in diesem Fall entry.getKey(); und entry.getValue(); nicht mehr ,packe ich es in eine Methode funktioniert es prima .


----------



## dandor (15. Apr 2017)

DerWissende hat gesagt.:


> Benutze doch bitte java-Code-Tags, wie in meiner Signatur beschrieben wird.
> (So mag kaum jemand lesen)


Danke Dir,wurde sofort erledigt


----------



## krgewb (15. Apr 2017)

Versuche mal

```
public void leseAusDatei(HashMap<String, Integer> bestand) {
```

anstatt

```
public void leseAusDatei(HashMap bestand) {
```


----------



## dandor (15. Apr 2017)

krgewb hat gesagt.:


> Versuche mal
> 
> ```
> public void leseAusDatei(HashMap<String, Integer> bestand) {
> ...


Oh man ich danke Dir ,man merkt ich bin noch Noob aber das schreibe ich mir hinter die Ohren,so viel gegrübel für so ne kleine Sache .
Vor allen Dingen im nachhinein verstehe ich auch den Compilerfehler

Vielen Vielen Dank


----------

