如何将文件写为UTF8?我已经设置了系统属性,但无法正常工作。

下面是示例代码。

SmbFileOutputStream sfos = null;
        try {
            NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication(wipDomain,wipUsername,wipPassword);
            System.setProperty("jcifs.encoding", "UTF8");
            logger.info("Path: " +path);
            SmbFile sFile = new SmbFile(path, auth);
            sfos = new SmbFileOutputStream(sFile);
            sfos.write(content.getBytes());
            return true;
        } catch (IOException e) {

            logger.error(e.getMessage());
            return false;
        } finally {
            if (sfos != null){
                try {
                    sfos.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }

最佳答案

content.getBytes("UTF-8")



  使用给定的字符集将此字符串编码为字节序列,并将结果存储到新的字节数组中。
  此方法始终使用此字符集的默认替换字节数组替换格式错误的输入和不可映射的字符序列。当需要对编码过程进行更多控制时,应使用CharsetEncoder类。

10-05 22:13