寫入中文字符亂碼
阿新 • • 發佈:2018-05-02
puts style buffer 中文 utf-8 writer 服務 color 沒有
最近在項目開發中用到sftp來進行文件傳輸,最初的想法是用public OutputStream put(String dst)向該輸出流中寫入數據,最終將數據傳輸到目標服務器,結果被中文亂碼困擾了好久,後面轉念一想其實可以先寫文件,在寫文件的時候對編碼進行設置,然後采用public void put(String src, String dst)直接傳文件,試了一下,果真沒有亂碼了。
寫文件:
...... String string = "字符串寫入"; File destFile = new File(srcfile); OutputStreamWriter writer = new OutputStreamWriter(newFileOutputStream(destFile),"UTF-8"); BufferedWriter bwriter = new BufferedWriter(writer); bwriter.write(string); bwriter.close(); sftp.put(srcfile,destfile); ......
讀文件:
...... InputStream in = sftp.get(destfile); JSONParser jp = new JSONParser(); JSONObject jo = (JSONObject)jp.parse(new InputStreamReader(in,"UTF-8")); ......
寫入中文字符亂碼