zoukankan      html  css  js  c++  java
  • 上传文件乱码,GBK转UTF-8

    最近遇到这样一个问题,我上传文件没有转换字符集windows默认GBK,结果当我需要读文件显示时用UTF-8转当然会出现乱码,为了解决这个问题,我就将上传时文件一同也转成UTF-8了这样就不会乱码了,上传时转换字符集方法如下:

    String root = filePath;// 上传路径
    File rootFile = new File(root);
    // 路径不存在先创建路径
    if (!rootFile.exists()) {
    rootFile.mkdirs();
    }
    // 获取后缀type
    String suffix = domain.getSuffixName();
    // 新文件名
    String strNewName = domain.getScriptName().trim() + domain.getVersionName().trim() + "."
    + suffix;
    domain.setScriptUrl("/" + strNewName);
    File destFile;
    String destFilePath=root+"/"+strNewName;
    destFile = new File(root, strNewName);
    OutputStream outputStream;
    outputStream = new FileOutputStream(destFile);
    // file是上传过来的文件,存放为临时tmp
    File file = domain.getFile();
    
    String context = "";
    InputStreamReader isr;
    isr = new InputStreamReader(new FileInputStream(file), "GBK");
    BufferedReader br = new BufferedReader(isr);
    String line;
    
    while ((line = br.readLine()) != null) {
    context += line + "
    ";
    System.out.println(line);
    }
    
    br.close();
    
    byte[] content = context.getBytes();
    context = new String(content, "UTF-8");
    
    BufferedWriter writer;
    
    FileOutputStream fos = new FileOutputStream(destFilePath, true);
    System.out.println(root+"/"+strNewName);
    writer = new BufferedWriter(new OutputStreamWriter(fos, "UTF-8"));
    writer.append(context);
    writer.close();
  • 相关阅读:
    关于配置文件权衡,.config VS .xml
    Google不支持小于12px字体 终极办法
    两个表循环的复杂度分析 征集
    SQL 计算列
    5分钟上手写ECharts的第一个图表
    NGif, Animated GIF Encoder for .NET
    Chart系列(一):Chart的基本元素
    一张广告图片引起的思维DFS
    洛谷 P2580 于是他错误的点名开始了
    洛谷 P1496 火烧赤壁
  • 原文地址:https://www.cnblogs.com/dylanblog/p/5168162.html
Copyright © 2011-2022 走看看