——杂言:前段时间在处理音频预览问题,详见关于audiojs的研究。期间,将远端的音频下载并缓存在本地过程中,涉及到java.io.*的几个操作,发生一些乱码问题。
我以前的处理是将本地的编码转换为UTF-8,但是这次不灵额。网上查了些博客,有说是专成ISO8859-1,的确是ok了的。
1 public static String previewAudio(long fileId, String fileUrl, String fileName) { 2 fileName = fileName.replaceAll(" ", ""); 3 String encoding = System.getProperty("file.encoding");// 此处是获取原有的编码方式 4 String pathName = ""; 5 try { 6 pathName = "/tmp/audio/" + fileId + "_" 7 + new String(fileName.getBytes(encoding), "ISO8859-1");// 将pathName的编码转成ISO8859-1 8 File file = new File(basePath + pathName); 9 if (!file.exists()) { 10 FileUtils.copyURLToFile(new URL(fileUrl), file);// 用的org.apache.commons.io.FileUtil 11 } 12 } catch (UnsupportedEncodingException e1) { 13 e1.printStackTrace(); 14 } catch (MalformedURLException e) { 15 e.printStackTrace(); 16 } catch (IOException e) { 17 e.printStackTrace(); 18 } 19 return pathName; 20 }