[英]Is it possible to create InputStream for a UTF-8 file?
我們正在對生產代碼進行一些代碼更改。
在本文中,我們之前使用InputStream(基本上是FileInputStream)從文件路徑讀取文件,並且此InputStream傳遞給了前面的許多方法。
現在我們意識到,文件也可以包含漢字,因此我們想使用UTF-8編碼。
我有一個字符串文件路徑。 並且知道,文件有時可以包含漢字,有時不能包含漢字。
我不願意在許多方法中進行更改,並且在創建InputStream(FileInputStream)時試圖以某種方式使用UTF-8編碼。
我在互聯網上進行搜索,但我所能獲得的只是在bufferreader / inputstream reader中輸出的(例如, 以UTF-8或http://www.mkyong.com/java/how-to-read-utf-8-encoded-來自文件Java /的數據
那么是否可以從文件路徑讀取文件並處理漢字並將其轉換為InputStram?
InputStream
不處理文本,因此它不關心編碼,因此,對您的問題的直接回答是:不,您不能使用UTF-8編碼創建InputStream
。
但是,您可以通過使用InputStream
來處理UTF-8文件,方法是簡單地攜帶這些字節,而不用任何方式對其進行操作。
如果要從文件讀取文本 ,則需要構造一個Reader
, 然后需要在構造函數中指定編碼(為您指定UTF-8)。
如果您向我們展示了InputStream
中的數據變成String
或char[]
對象的地步,那么我可以向您展示您需要更改代碼的地方。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.