(java)有什么办法把MultipartFile上传的文件转为utf-8的编码吗
文件是csv格式的,这个方法上传的文件,其他公司写的算法会用到,但是他们要求传来的文件必须是utf-8编码的,否则会报错,有什么办法能把用户上传的csv文件的编码转换为utf-8吗。public void uploadCsv(MultipartFile file, String path, String csvName) throws IOException {
String fileName = file.getOriginalFilename();
File dest = new File(new File(path+"/data/input").getAbsolutePath()+ "/" + fileName);
if (!dest.getParentFile().exists()) {
dest.getParentFile().mkdirs();
}
if(!dest.exists()){
dest.createNewFile();
}
file.transferTo(dest); // 保存文件
} 文件上传到后台,读取内容,判断编码,然后在转码 保存文件。
判断编码 可以参考这个https://www.iteye.com/blog/panyongzheng-1849666 bytes = 流.getBytes(' 源编码格式')
String out = new String( bytes , “utf-8”) Vvvvvoid 发表于 2020-10-29 15:06
bytes = 流.getBytes(' 源编码格式')
String out = new String( bytes , “utf-8”)
主要不知道客户的 原内容编码, 所以还是要判断一下 建议学一下 文件工具:Tika,获取文件真实类型、编码、内容 import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import org.apache.tika.Tika;
import org.apache.tika.detect.AutoDetectReader;
import org.apache.tika.exception.TikaException;
import org.apache.tika.language.LanguageIdentifier;
public class Test {
public static void main(String args[]) throws FileNotFoundException, IOException, TikaException{
String file="E:\\2013.xls";
File f = new File(file);
Tika tika = new Tika();//创建一个Tika类
//利用Tika的detect方法检测文件的实际类型
System.out.println("filetype:"+tika.detect(file));
//利用Tika的parseToString()方法读取文件的文本内容
System.out.println("content:"+tika.parseToString(f));
//利用Tika的AutoDetectReader类检测文件的编码格式
AutoDetectReader dr = new AutoDetectReader(new FileInputStream(file));
System.out.println("charset:"+dr.getCharset().name());
//利用Tika的LanguIdentifier类检测字符串的语言
LanguageIdentifier identifier = new LanguageIdentifier("this is English");
System.out.println("language:"+identifier.getLanguage());
}
} Titanic 发表于 2020-10-29 15:41
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNot ...
很强,很方便 Titanic 发表于 2020-10-29 15:41
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNot ...
学习了 谢谢
页:
[1]