簡體   English   中英

將DataOutputStream與Java中的String進行比較

[英]Compare DataOutputStream to String in Java

我有一個DataOutputStream我想復制成一個字符串。 我已經找到很多關於轉換DataOutputStreams的教程,通過將它設置為新的ByteArrayOutputStream,但我只想讀取它刷新時發送的字符串,並且我的DataOutputStream已經通過套接字分配給輸出流。

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

如果上下文有用,我正在嘗試讀取服務器的輸出流並將其與字符串進行比較。

flush方法將刷新,即強制寫入,緩沖但尚未寫入的任何內容。

在下面的代碼中,嘗試在第二次調用writeUTF時設置斷點 - 如果導航到文件系統,您應該看到創建的文件,它將包含“some string”。 如果將斷點設置為flush,則可以驗證內容是否已寫入文件。

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對象中提取數據,但在上面的示例中,我們當然在寫入調用中具有這些字符串。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM