我一直在做关闭和约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