我一直在做關閉和約14年的Java,並在過去的6年左右幾乎沒有別的。是否有類似於<stdio.h>的java庫/包?
我真的很討厭java.io包 - 它的子類和適配器的軍團。我想做像例外,而不是總是輪詢「errno」之類,但我可以肯定生活沒有宣佈的例外。
是否有任何功能像C/UNIX中的Unix/ANSI stdio.h例程?
我知道我們將永遠不會擺脫java.io及其約定,直到java本身已經退役,因爲它們已經轉移到已經增加到java的許多框架中。也就是說,我希望有一種類似於此的東西(我們稱之爲package javax.stdio):
有一個主實用程序類FileStar,它可以讀寫文件(或管道),文本或二進制,無論是順序或隨機訪問,與模仿fopen()和popen()的構造函數。 (),fwrite(),fgets(),fputs(),fseek()以及其他任何東西(fprintf()?)的有用方法的負載。與開放/構造模式不兼容的方法只是簡單地拋出(就像一些集合類/方法受到限制時一樣)。
然後,有一堆接口建議您在創建後如何使用流:Sequential,RandomAccess,ReadOnly,WriteOnly,Text,Binary,以及這些有意義的組合。也許甚至有方法返回適當的類型轉換(接口),如果你要求某些不兼容的東西,就會拋出。
如果您有額外的口味,請跳過聲明的例外 - 例如 - javax.stdio.IOException擴展了RuntimeException。
是否有像這樣的開源項目?
您是否考慮過[Commons IO](http://commons.apache.org/io/)使IO代碼不那麼冗長?特別是名稱中以'Utils'結尾的類。例如。 ['IOUtils'](http://commons.apache.org/io/api-release/org/apache/commons/io/IOUtils.html)和['FileUtils'](http://commons.apache.org /io/api-release/org/apache/commons/io/FileUtils.html)。 – BalusC 2010-05-13 02:32:02
@BalusC:謝謝,不是我一直在尋找的東西,但有一些像這樣的小寶石:http://commons.apache.org/io/api-release/org/apache/commons/io/IOUtils的.html#toByteArray%28java.io。讀者%29) – Roboprog 2010-05-19 01:19:00