所有,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