java读取并导出多类型数据csv文件
1、主函数
public class csvtest {
public static void main(String[] args) {
List<Car> dataList = CSVUtils.importCsv(new File("D:/test.csv"));
boolean isSuccess = CSVUtils.exportCsv(new File("D:/1.csv"), dataList);
System.out.println(isSuccess);
}
}
2、Car类
public class Car {
String id;
double utc;
double x;
double y;
float speed;
float angle;
double status;
public Car(String id, double utc, double x, double y, float speed,
float angle, double status) {
this.id = id;
this.utc = utc;
this.x = x;
this.y = y;
this.speed = speed;
this.angle = angle;
this.status = status;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public double getUtc() {
return utc;
}
public void setUtc(double utc) {
this.utc = utc;
}
public double getX() {
return x;
}
public void setX(double x) {
this.x = x;
}
public double getY() {
return y;
}
public void setY(double y) {
this.y = y;
}
public float getSpeed() {
return speed;
}
public void setSpeed(float speed) {
this.speed = speed;
}
public float getAngle() {
return angle;
}
public void setAngle(float angle) {
this.angle = angle;
}
public double getStatus() {
return status;
}
public void setStatus(double status) {
this.status = status;
}
}
3、读取和导出工具类
public class CSVUtils {
public static boolean exportCsv(File file, List<Car> dataList) {
boolean isSucess = false;
FileOutputStream out = null;
OutputStreamWriter osw = null;
BufferedWriter bw = null;
try {
out = new FileOutputStream(file);
osw = new OutputStreamWriter(out);
bw = new BufferedWriter(osw);
if (dataList != null && !dataList.isEmpty()) {
for (int i = 0; i < dataList.size(); i++) {
String[] temp = new String[7];
StringBuffer data = new StringBuffer();
Car car = dataList.get(i);
temp[0] = car.id;
temp[1] = String.valueOf(car.utc);
temp[2] = String.valueOf(car.x);
temp[3] = String.valueOf(car.y);
temp[4] = String.valueOf(car.speed);
temp[5] = String.valueOf(car.angle);
temp[6] = String.valueOf(car.status);
for (int j = 0; j < 6; j++) {
data.append(temp[j] + ",");
}
data.append(temp[6]);
//String data=temp[0]+","+temp[1]+","+temp[2]+","+temp[3]+","+temp[4]+","+temp[5]+","+temp[6];
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;
}
public static List<Car> importCsv(File file) {
List<Car> dataList = new ArrayList<Car>();
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader(file));
String line;
while ((line = br.readLine()) != null) {
String[] temp = line.split(",");
String id = temp[0];
double utc = Double.parseDouble(temp[1]);
double x = Double.parseDouble(temp[2]);
double y = Double.parseDouble(temp[3]);
float speed = Float.parseFloat(temp[4]);
float angle = Float.parseFloat(temp[5]);
double status = Double.parseDouble(temp[6]);
Car car = new Car(id, utc, x, y, speed, angle, status);
dataList.add(car);
}
} catch (Exception e) {
} finally {
if (br != null) {
try {
br.close();
br = null;
} catch (IOException e) {
e.printStackTrace();
}
}
}
return dataList;
}
}
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。