文件本地导入和通过微博导入到服务器
本地导入,主要是读取本地文件
代码如下:
public class CSVUtils {
/**
* 读取
*
* @param file csv文件(路径+文件名),csv文件不存在会自动创建
* @param dataList 数据
* @return
*/
public static boolean exportCsv(File file, List<String> dataList) {
boolean isSucess = false;
FileOutputStream out = null;
OutputStreamWriter osw = null;
BufferedWriter bw = null;
try {
out = new FileOutputStream(file);
osw = new OutputStreamWriter(out,"UTF-8");
osw.write(new String(new byte[] { (byte) 0xEF, (byte) 0xBB,(byte) 0xBF }));
bw = new BufferedWriter(osw);
if (dataList != null && !dataList.isEmpty()) {
for (String data : dataList) {
bw.append(data).append("\r");
}
}
isSucess = true;
} catch (Exception e) {
isSucess = false;
} finally {
if (bw != null) {
try {
bw.close();
bw = null;
} catch (IOException e) {
e.printStackTrace();
}
}
if (osw != null) {
try {
osw.close();
osw = null;
} catch (IOException e) {
e.printStackTrace();
}
}
if (out != null) {
try {
out.close();
out = null;
} catch (IOException e) {
e.printStackTrace();
}
}
}
return isSucess;
}
/**
* 写入
*
* @param file csv文件(路径+文件)
* @return
*/
public static List<String> importCsv(File file) {
List<String> dataList = new ArrayList<String>();
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader(file));
String line = "";
while ((line = br.readLine()) != null) {
dataList.add(line);
}
} catch (Exception e) {
} finally {
if (br != null) {
try {
br.close();
br = null;
} catch (IOException e) {
e.printStackTrace();
}
}
}
return dataList;
}
public static void main(String[] args) {
TimeInterval timer = DateUtil.timer();
List<String> dataList = CSVUtils.importCsv(new File("E:\\8848.csv"));
System.out.println("读取毫秒数的值是:---" + timer.intervalRestart() + ",当前方法=csvController.collectfile()");
List<String> ll = new ArrayList<>();
kk = dataList.stream().map(e ->{
int k = RandomUtil.randomInt(130, 199); e=e+","+k;
return e;
} ).collect(Collectors.toList());
boolean isSuccess = CSVUtils.exportCsv(new File("E:\\0000.csv"), kk);
System.out.println("插入毫秒数的值是:---" + timer.interval() + ",当前方法=csvController.collectfile()");
System.out.println(isSuccess);
}
Web模式主要是通过以下方式实现
@RequestMapping(value = "/uploadWeb", method = RequestMethod.POST)
public Object uploadWeb(MultipartFile file) {
System.out.println("我们开始了");
try {
TimeInterval timer = DateUtil.timer();
InputStream inputStream = null;
inputStream = file.getInputStream();
String outPath = "服务器的地址+存储的文件名";
FileOutputStream outputStream = new FileOutputStream(outPath);
// inputStream 输入的流
//outputStream 输出的流
System.out.println(kk.size() + "条数读取秒数的值是:---" + timer.interval() / 1000 + "秒,读取csv结束");
} catch (FileNotFoundException e) {
e.printStackTrace();
System.out.println("FileNotFoundException的值是:---" + e + ",当前方法=CSVUtils.main()");
} catch (
Exception e) {
System.out.println("e的值是:---" + e + ",当前方法=CSVUtils.main()");
}
return null;
}
具体使用postman调用的时候,就是主要是使用: