# Die Methode close() der Klasse Scanner



## siba (1. Feb 2006)

Hallo!

Ich habe untenstehenden Code und versuche herauszufinden, wozu die Methode close() notwendig sein soll? Im Moment kann ich keinen Unterschied erkennnen. Wann kommt es zu einem Unterschied?


```
public class StringScanner {
	public static void main(String[] args) {
		String s = "MichaelxxBauerxxSonnenweg 2xx10000xxBerlin";
		String d = "x+";
		Scanner scanner = new Scanner(s);
		scanner.useDelimiter(d);
		while (scanner.hasNext()){
			System.out.println(scanner.next());
		}	
		scanner.close();
	}
}
```


----------



## Beni (1. Feb 2006)

Wenn du nach dem close noch was lesen willst, wirst du den Unterschied bemerken (es geht nicht).

Close schliesst die Eingabe, im Falle eines Strings passiert da eigentlich nichts, wenn du eine Netwerkverbindung hättest, würden wertvolle Ressourcen freigegeben.


----------



## Bleiglanz (1. Feb 2006)

in dem Fall gibts keinen Effekt (ausser dass du danach nicht mehr next() aufrufen kannst, der Input ist ein String) => kannst du auch weglassen

wenn ein InputStream (z.B. aus einer Datei) verwendet würde, dann würde auch dieser geschlossen; insofern i.A. wichtig


----------



## siba (1. Feb 2006)

Gilt dies auch beim Senden von Formulardaten von einer HTML-Seite zur nächsten mit GET und POST?


----------

