Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Reader.java
- public interface Reader {
- public String Read();
- }
- // StdinReader.java
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- public class StdinReader implements Reader {
- public String Read() {
- String input = "";
- try {
- BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
- input = br.readLine();
- } catch (IOException io) {
- io.printStackTrace();
- }
- return input;
- }
- }
- // Writer.java
- public interface Writer {
- public void Write(String msg);
- }
- // StdoutWriter.java
- public class StdoutWriter implements Writer {
- public void Write(String msg) {
- System.out.println(msg);
- }
- }
- // NetworkWriter.java
- public class NetworkWriter implements Writer {
- private String _address;
- public NetworkWriter(String address) {
- _address = address;
- }
- public void Write(String msg) {
- System.out.println("Writing \"" + msg + "\" to: " + _address);
- }
- }
- // ReaderWriter.java
- public class ReaderWriter implements Reader, Writer {
- Reader _reader;
- Writer _writer;
- public ReaderWriter(Reader r, Writer w) {
- _reader = r;
- _writer = w;
- }
- public String Read() {
- return _reader.Read();
- }
- public void Write(String msg) {
- _writer.Write(msg);
- }
- }
- // Main.java
- public class Main {
- public static void Example(String exampleName, ReaderWriter rw) {
- rw.Write(exampleName);
- rw.Write("-------------------------------------");
- rw.Write("Enter some text below:");
- String someText = rw.Read();
- rw.Write("You entered: \"" + someText + "\"\n");
- }
- public static void main(String[] args) {
- Writer w = new StdoutWriter();
- Reader r = new StdinReader();
- Writer nw = new NetworkWriter("localhost:8080");
- Example("StdinReader and StdoutWriter example:", new ReaderWriter(r, w));
- Example("StdinReader and NetworkWriter example:", new ReaderWriter(r, nw));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement