JAVA導出成CSV文件
import java.io.File; import java.io.IOException; import java.util.List;import com.google.common.base.Charsets; import com.google.common.base.Joiner; import com.google.common.base.Preconditions; import com.google.common.collect.Lists; import com.google.common.io.Files; import com.google.common.primitives.Bytes;
public class FooUtilsCsvHelper {
// csv's default delemiter is ',' private final static String DEFAULT_DELIMITER = ","; // Mark a new line private final static String DEFAULT_END = "\r\n"; // If you do not want a UTF-8 ,just replace the byte array. private final static byte commonCsvHead[] = { (byte) 0xEF, (byte) 0xBB, (byte) 0xBF }; /** * Write source to a csv file * * @param source * @throws IOException */ public static void writeCsv(List<List<String>> source) throws IOException { // Aoid java.lang.NullPointerException Preconditions.checkNotNull(source); StringBuilder sbBuilder = new StringBuilder(); for (List<String> list : source) { sbBuilder.append(Joiner.on(DEFAULT_DELIMITER).join(list)).append( DEFAULT_END); } Files.write(Bytes.concat(commonCsvHead, sbBuilder.toString().getBytes(Charsets.UTF_8.toString())), new File("d:\\/123.csv")); } /** * Simple read a csv file * * @param file * @throws IOException */ public static void readCsv(File file) throws IOException { System.out.println(Files.readFirstLine(file, Charsets.UTF_8)); } // Run a small test yourself. public static void main(String[] args) throws IOException { List<List<String>> source = Lists.newArrayList(); List<String> tmpL = Lists.newArrayList(); tmpL.add("測試titile1"); tmpL.add("測試titile2"); source.add(tmpL); writeCsv(source); readCsv(new File("d:\\/123.csv")); }
}</pre>
本文由用戶 gbd8 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!