将 DataOutputStream 与 Java 中的字符串进行比较



我有一个DataOutputStream,我想复制到一个字符串中。我找到了很多关于通过将 DataOutputStreams 设置为新的 ByteArrayOutputStream 来转换它的教程,但我只想读取它在刷新时发送的字符串,并且我的 DataOutputStream 已经通过套接字分配给输出流。

output.writeUTF(input.readLine());
output.flush();

如果上下文有帮助,我正在尝试读取服务器的输出流并将其与字符串进行比较。

flush

方法将刷新,即强制写入任何缓冲但尚未写入的内容。

下面的代码中,尝试在第二次调用 writeUTF 时放置一个断点 - 如果您导航到文件系统,您应该会看到创建的文件,它将包含"一些字符串"。如果将断点置于刷新状态,则可以验证内容是否已写入文件。

public static void test() throws IOException {
    File file = new File("/Users/Hervian/tmp/fileWithstrings.txt");
    DataOutputStream dos = null;
    try {
        dos = new DataOutputStream(new FileOutputStream(file));
        dos.writeUTF("some string");
        dos.writeUTF("some other string");
        dos.flush();//Flushes this data output stream. This forces any buffered output bytes to be written out to the stream.
    } finally {
        if (dos!=null) dos.close();
    }
}

因此,您无法从 DataOutputStream 对象中提取数据,但在上面的示例中,我们当然会在写入调用中使用这些字符串。

相关内容

  • 没有找到相关文章

最新更新