gpt4 book ai didi

java - 使用 DataInputStream 和 DataOutputStream

转载 作者:行者123 更新时间:2023-12-04 05:05:22 24 4
gpt4 key购买 nike

我想使用 DataInputStream 将几个字符串从 A 发送到 B。

我知道如何使用 .write() 发送这些信息但我不确定分离字符串的最佳方法。事实上 - 经过研究,除非我在字符串中添加一个字符并在 B 处拆分,否则似乎不可能。

使用 DataInputStream 的任何替代方法会被考虑。我打算创建一个 Array并将其发送出去,尽管我不知道该怎么做。

到目前为止,我有:

public String getDetails() {       
System.out.print("Name: ");
String uiname = scan.next();
pout.write(uiname);

System.out.print("Address: ");
String uiaddress = scan.next();

pout.write(uiaddress);

return "";

}

最佳答案

只要您的字符串长度小于 65536 个字符,您就可以使用 DataOutputStream.writeUtf()DataInputStream.readUTF() .如果你需要比字符串和原语更复杂的东西,你需要使用 ObjectOutputStreamObjectInputStream .

示例(可能包含语法错误):

DataOutputStream out = new DataOutputStream(...);
out.writeUtf("foo");
out.writeUtf("bar");
out.close();

DataInputStream in = new DataInputStream(...);
String s1 = in.readUtf();
String s2 = in.readUtf();
// that's all, folks!
writeUtf()方法在字符串前面加上其字符数。 readUtf()方法首先获取字符数,然后准确读取那么多字符。只要您只是在编写/读取字符串,流就可以解决问题。

关于java - 使用 DataInputStream 和 DataOutputStream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15572970/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com