簡體   English   中英

確定java中InputStream中下一次讀取的類型

[英]determine type of next read in InputStream in java

假設有一個文件中寫有一組原語,但是我不知道原語的類型。

如何從代碼中將數據讀入適當的數據類型? (即從int讀取為int,將字節讀取為byte等)

還是這不可能?

您可以嘗試將其轉換為所需的類型...如果轉換失敗,請嘗試下一個類型,依此類推。 最終類型是字符串。

例如,如果文件包含以下行:

1
1.3
12345324223423
test
true
false

您可以測試每個值是否可以轉換:

try {
    int value = Integer.parseInt(test);
}
catch (NumberFormatException e) {

    try {

        double value2 = Double.parseDouble(test);
    }
    catch (NumberFormatException ex) {

            ... and so on ... 
    }
}

例如,我將從最小的開始,然后擴大到更大:

  • 字節
  • 整數
  • BigDecimal的
  • 布爾
  • 燒焦
  • 最后一個字符串

暫無
暫無

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

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