私は約 14 年間 Java のオンとオフを行ってきましたが、過去 6 年間はほとんど何もしていませんでした。
私は本当に java.io パッケージが嫌いです -- サブクラスとアダプタの軍団です。私は常に「errno」などをポーリングするよりも例外が好きですが、宣言された例外がなくても確実に生活できます。
C の Unix/ANSI stdio.h ルーチンのように機能するものはありますか?
Java 自体が廃止されるまで、java.io とその規則を取り除くことは決してないことを私は知っています。そうは言っても、次のように機能するものが欲しいです(パッケージjavax.stdioと呼びましょう):
fopen() および popen() を模倣するコンストラクターを使用して、テキストまたはバイナリーのファイル (またはパイプ) をシーケンシャルまたはランダムに読み書きできるメインのユーティリティ クラス (おそらく FileStar) を用意します。
このクラスには、fread()、fwrite()、fgets()、fputs()、fseek() など (fprintf()?) などを実行する便利なメソッドが多数含まれている必要があります。オープン/コンストラクト モードと互換性のないメソッドは、単純にスローされます (制限されているときに一部のコレクション クラス/メソッドが行うのと同じように)。
次に、作成したストリームをどのように使用するかを示す一連のインターフェイスを用意します: Sequential、RandomAccess、ReadOnly、WriteOnly、Text、Binary、およびこれらの適切な組み合わせ。おそらく、適切な型キャスト (インターフェース) を返すメソッドがあり、互換性のないものを要求した場合はスローされます。
追加のフレーバーについては、宣言された例外をスキップします。たとえば、javax.stdio.IOException extends RuntimeException です。
このようなオープンソース プロジェクトはありますか?