我正在使用DataOutputStream尝试以下代码。传递给DataOutputStream的OutputStream不打印任何内容。请看下面的代码,请告诉我这段代码有什么问题。
public class DataStreamsExample {
public static void main(String[] args) throws IOException {
DataInputStream dis = new DataInputStream(System.in);
System.out.println("Enter the First Number");
int i = dis.readInt();
System.out.println("Enter the Second Numebr");
int j= dis.readInt();
int total = i+j;
DataOutputStream dos = new DataOutputStream(System.out);
dos.writeInt(total);
}
}
答案 0 :(得分:2)
为什么使用数据输出流?你不能用Scanner
来阅读输入吗?
调用dos.flush()
会打印出您的结果。
答案 1 :(得分:0)
OutputStream 基本上是二进制结构。如果要写入文本数据(例如从控制台),则应使用一些描述的Writer。要将 OutputStream 转换为Writer,请使用 OutputStreamWriter 。然后在Writer周围创建一个 PrintWriter ,您可以使用 PrintWriter .println()读取一行。 您可以替换以下行
DataOutputStream out = new DataOutputStream(out);
进入此
PrintWriter out = new PrintWriter(new OutputStreamWriter(out));
然后可以在OutputStreamWriter的构造函数中明确指定字符编码。