Input loop

Revision as of 19:45, 17 February 2008 by rosettacode>Mwn3d (Created task with Java)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Read from a text stream either word-by-word or line-by-line until the stream runs out of data. The stream will have an unknown amount of data on it.

Task
Input loop
You are encouraged to solve this task according to the task description, using any language you may know.

Java

Some people prefer Scanner or BufferedReader, so a way with each is presented.

import java.util.Scanner;
...
Scanner in = new Scanner(System.in);//stdin
//new Scanner(new FileInputStream(filename)) for a file
//new Scanner(socket.getInputStream()) for a network stream
while(in.hasNext()){
	String input = in.next(); //in.nextLine() for line-by-line
	//process the input here
}

or

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
...
try{
	BufferedReader inp = new BufferedReader(new InputStreamReader(System.in));//stdin
	//new BufferedReader(new FileReader(filename)) for a file
	//new BufferedReader(new InputStreamReader(socket.getInputStream())) for a netowrk stream
		while(inp.ready()){
			String input = inp.readLine();//line-by-line only
			//process the input here
		}
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}