2016-05-09 3 views
0

Ich bin ziemlich verwirrt beim Datei-Streaming. Ich habe eine Eingabedatei stream-Methode, die die Datei lädt, ich kann nicht herausfinden, wie Sie dann die Datei in einer anderen Methode verwenden. Die Dateien haben eine UTF-Zeichenfolge und zwei Ganzzahlen. Wie kann ich nun jedes dieser verschiedenen int oder Strings in einer Hauptmethode verwenden?Java binäre E/A-Methode Stream

public static void dataStream() throws IOException { 

    try (DataInputStream input = new DataInputStream(
      new FileInputStream("input.dat")); 
    ) { 

     String stringUTF = input.readUTF(); 
     int firstInt = input.readInt(); 
     int secondInt = input.readInt(); 

     //System.out.println("File name: " + fileName); 


    } 

} 
+0

Sie müssen klären, was Sie mit _ "Wie kann ich jetzt jedes dieser verschiedenen int oder Strings in einer Hauptmethode verwenden" _. Sie haben drei Variablen, die die Eingangsdaten enthalten, die Sie gerade gelesen haben. Schreibe Code in so etwas mit den Variablen. Was möchten Sie mit den Daten machen? –

+0

Ich möchte sie in einer anderen Methode ausdrucken – Jake

Antwort

-1

Machen Sie ein Objekt, das passiert, alles was Sie wollen!

public class MyData { 

    private final String data; 
    private final int one; 
    private final int two; 

    public MyData(String data, int one, int two) { 
     this.data = data; 
     this.one = one; 
     this.two = two; 
    } 

    public String getData() { 
     return this.data; 
    } 

    //etc 
} 

Und zurückkehren, dass von Ihrer Methode:

public static MyData dataStream() throws IOException { 
    try (DataInputStream input = new DataInputStream(new FileInputStream("input.dat"))) { 
     String stringUTF = input.readUTF(); 
     int firstInt = input.readInt(); 
     int secondInt = input.readInt(); 
     return new MyData(stringUTF, firstInt, secondInt); 
    } 
} 

Und Sie dieses neue Objekt leicht nutzen können:

MyData data = dataStream(); 
String stringUTF = data.getData(); //tada 

Objekte verwenden, um die gewünschten Verhaltensweisen oder Daten durchführen Speichern von Prinzipien ist einfach OOP Sie sollten in Ihrer gesamten Programmierung verwenden.

+0

So versuch ich bekomme eine Fehlermeldung, dass getData() undefined ist – Jake

+0

naja, was hast du probiert/wie bist du bei der Implementierung deiner Lösung vorgegangen? – Rogue