中文文件名转换为UTF8编码的方法.

    /**
     * 将文件名中的汉字转为UTF8编码的串,以便下载时能正确显示另存的文件名.
     * @param s 原文件名
     * @return 重新编码后的文件名
     */
    public static String toUtf8String(String s) {
 StringBuffer sb = new StringBuffer();
 for (int i=0;i     char c = s.charAt(i);
     if (c >= 0 && c <= 255) {
  sb.append(c);
     } else {
  byte[] b;
  try {
      b = Character.toString(c).getBytes("utf-8");
  } catch (Exception ex) {
      System.out.println(ex);
      b = new byte[0];
  }
  for (int j = 0; j < b.length; j++) {
      int k = b[j];
      if (k < 0) k += 256;
      sb.append("%" + Integer.toHexString(k).
      toUpperCase());
  }
     }
 }
 return sb.toString();
    }

你可能感兴趣的:(Java,专栏,string,exception,byte,c)