所有,java.net.URLConnection.guessContentTypeFromStream和纯文本/
我试图找出纯文本文件与Mac行尾和,一个InputStream里面,默默地将它们转换为Windows或Linux行尾(重要部分是LF字符,真的)。具体来说,我正在处理几个采用InputStream的API,并将其锁定为\ n作为换行符。
有时,我会得到二进制文件。很显然,一个非文本类型的文件不应该进行这种替换,因为恰好相应于\ r的值不会在后面悄悄地跟随\ n而不会严重损坏。
我正在尝试使用java.net.URLConnection.guessContentTypeFromStream
,并且只在类型为text/plain时才执行endline转换。不幸的是,"text/plain"
似乎不在其返回值的范围内;我所得到的是我的平面文本文件的null
,假设所有无法识别的文件都可以修改,可能并不安全。
我可以用更好的库(最好在公共Maven存储库和开源中)来做到这一点?或者,我怎么能guessContentTypeFromStream为我工作?我知道我正在描述一个固有的危险应用程序,没有解决方案可能是完美的,但是我应该把“空白”看作是“文本/纯文本”,我只需要自己编写更多的代码来寻找证据证明它不是“T?
+1为“色域”。 – skaffman 2010-12-14 20:32:24