簡體   English   中英

是否可以為UTF-8文件創建InputStream?

[英]Is it possible to create InputStream for a UTF-8 file?

我們正在對生產代碼進行一些代碼更改。

在本文中,我們之前使用InputStream(基本上是FileInputStream)從文件路徑讀取文件,並且此InputStream傳遞給了前面的許多方法。

現在我們意識到,文件也可以包含漢字,因此我們想使用UTF-8編碼。

我有一個字符串文件路徑。 並且知道,文件有時可以包含漢字,有時不能包含漢字。

我不願意在許多方法中進行更改,並且在創建InputStream(FileInputStream)時試圖以某種方式使用UTF-8編碼。

我在互聯網上進行搜索,但我所能獲得的只是在bufferreader / inputstream reader中輸出的(例如, 以UTF-8http://www.mkyong.com/java/how-to-read-utf-8-encoded-來自文件Java /的數據

那么是否可以從文件路徑讀取文件並處理漢字並將其轉換為InputStram?

InputStream不處理文本,因此它不關心編碼,因此,對您的問題的直接回答是:不,您不能使用UTF-8編碼創建InputStream

但是,您可以通過使用InputStream來處理UTF-8文件,方法是簡單地攜帶這些字節,而不用任何方式對其進行操作。

如果要從文件讀取文本 ,則需要構造一個Reader然后需要在構造函數中指定編碼(為您指定UTF-8)。

如果您向我們展示了InputStream中的數據變成Stringchar[]對象的地步,那么我可以向您展示您需要更改代碼的地方。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM