package shishikan;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class CsvFileUtil
{
private static final String SPECIAL_CHAR_A = "[^\",\\n ]";
private static final String SPECIAL_CHAR_B = "[^\",\\n]";
/**
* 构造,禁止实例化
*/
private CsvFileUtil()
{
}
public static void main(String[] args)
{
// test
try
{
List list1 = readCsvFile("e:\\1234.csv");
List list2 = readCsvFile("e:\\12345.csv");
if(cvsCompare(list1, list2)) System.out.print("csv比较相同");
else System.out.print("csv比较不相同");
} catch (FileNotFoundException ex)
{
Logger.getLogger(CsvFileUtil.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex)
{
Logger.getLogger(CsvFileUtil.class.getName()).log(Level.SEVERE, null, ex);
}
}
public static <T extends Comparable<T>> boolean compare(List<T> a, List<T> b)
{
if (a.size() != b.size())
return false;
Collections.sort(a);
Collections.sort(b);
for (int i = 0; i < a.size(); i++)
{
if (!a.get(i).equals(b.get(i)))
return false;
}
return true;
}
/**
* csv文件读取<BR/> 读取绝对路径为argPath的csv文件数据,并以List返回。
*
* @param argPath
* csv文件绝对路径
* @return csv文件数
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class CsvFileUtil
{
private static final String SPECIAL_CHAR_A = "[^\",\\n ]";
private static final String SPECIAL_CHAR_B = "[^\",\\n]";
/**
* 构造,禁止实例化
*/
private CsvFileUtil()
{
}
public static void main(String[] args)
{
// test
try
{
List list1 = readCsvFile("e:\\1234.csv");
List list2 = readCsvFile("e:\\12345.csv");
if(cvsCompare(list1, list2)) System.out.print("csv比较相同");
else System.out.print("csv比较不相同");
} catch (FileNotFoundException ex)
{
Logger.getLogger(CsvFileUtil.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex)
{
Logger.getLogger(CsvFileUtil.class.getName()).log(Level.SEVERE, null, ex);
}
}
public static <T extends Comparable<T>> boolean compare(List<T> a, List<T> b)
{
if (a.size() != b.size())
return false;
Collections.sort(a);
Collections.sort(b);
for (int i = 0; i < a.size(); i++)
{
if (!a.get(i).equals(b.get(i)))
return false;
}
return true;
}
/**
* csv文件读取<BR/> 读取绝对路径为argPath的csv文件数据,并以List返回。
*
* @param argPath
* csv文件绝对路径
* @return csv文件数