我想通過點擊按鈕來下載文本檔案,一切都按預期進行。但問題是我想在文本檔案中插入的資料只有一行。
String fileContent = "簡單解決方案 下載示例1"。 這里。 是不作業的。它的輸出結果是:
簡單解決方案下載實體 1
代碼片段:
界面:
控制器:
uj5u.com熱心網友回復:
不要使用硬編碼的。
或
- 行分隔符是特定于平臺的(Windows與所有其他作業系統不同)。
你可以做的是:
- 使用
System.lineSeparator()。
- 用
String.format()構建內容,并將替換掉。 替換為%n。
uj5u.com熱心網友回復:
主要問題是,服務器計算機和客戶端計算機在字符集編碼和行分隔符方面基本上是獨立的。 默認值是不行的。
由于我們生活在一個以Windows為中心的世界(我是一個linuxer),用戶
" "。然后java可以混合任何Unicode腳本。一個檔案沒有關于其編碼的資訊。 如果它來自于其他計算機/平臺,就會產生問題。
String fileContent = "Simple Solution fa?ade, ma?ana, € " "Download Обичам ????? Example 1"。因此,發端計算機明確定義了編碼。它不應該這樣做:
fileContent.getBytes(); //默認平臺編碼 Charset.defaultCharset().所以發端計算機可以做到:
fileContent.getBytes(StandardCharsets.UTF_8); //UTF-8, full Unicode。 fileContent.getBytes("Windows-1252); // MS Windows Latin 1, some ? failures.contentType可以適當地設定為
"text/plain;charset=UTF-8"或者對于Windows-1252"text/plain;charset=ISO-8859-1"。然后從那個
byte[]中,你應該取.length作為contentLength。寫入檔案可以使用Files.writeString
在這種情況下,使用Files.size(exportedPath)作為內容長度。Files.newInputStream(exportedPath)是Files的第三個好東西。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/308781.html
標籤:
上一篇:Firebase主機的子域限制


