Java二进制I / O方法流

时间:2016-05-09 04:41:25

标签: java binary filestream

我对文件流非常困惑。我有一个输入文件流方法,将加载文件,我无法弄清楚如何在另一种方法中使用该文件。这些文件有一个UTF字符串和两个整数。我现在如何在main方法中使用这些不同的int或字符串?

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);


    }

}

1 个答案:

答案 0 :(得分:-1)

制作一个碰巧做你想做的事的对象!

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
}

从你的方法中返回:

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);
    }
}

您可以轻松利用这个新对象:

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

使用对象执行所需的行为或存储数据是您应该在所有编程中使用的基本OOP原则。