复代码代码如下:
java.io.파일 가져오기;
import java.io.IOException;
java.util.List 가져오기;
com.google.common.base.Charsets 가져오기;
수입 com.google.common.base.Joiner;
com.google.common.base.Preconditions 가져오기;
com.google.common.collect.Lists 가져오기;
com.google.common.io.Files 가져오기;
import com.google.common.primitives.Bytes;
공개 클래스 FooUtilsCsvHelper {
// csv의 기본 구분 기호는 ','입니다.
개인 최종 정적 문자열 DEFAULT_DELIMITER = ",";
// 새 줄 표시
private final static String DEFAULT_END = "/r/n";
// UTF-8을 원하지 않으면 바이트 배열을 바꾸십시오.
개인 최종 정적 바이트 commonCsvHead[] = { (바이트) 0xEF, (바이트) 0xBB,
(바이트) 0xBF };
/**
* csv 파일에 소스 쓰기
*
* @param 소스
* @IOException 발생
*/
public static void writeCsv(List<List<String>> 소스)에서 IOException이 발생합니다.
// Aoid java.lang.NullPointerException
전제조건.checkNotNull(source);
StringBuilder sbBuilder = new StringBuilder();
for (List<String> 목록 : 소스) {
sbBuilder.append(Joiner.on(DEFAULT_DELIMITER).join(목록)).append(
DEFAULT_END);
}
Files.write(Bytes.concat(commonCsvHead,
sbBuilder.toString().getBytes(Charsets.UTF_8.toString())),
새 파일("d:///123.csv"));
}
/**
* 간단한 CSV 파일 읽기
*
* @param 파일
* @IOException 발생
*/
public static void readCsv(파일 파일)에서 IOException이 발생합니다.
System.out.println(Files.readFirstLine(file, Charsets.UTF_8));
}
// 간단한 테스트를 직접 실행해 보세요.
public static void main(String[] args)에서 IOException이 발생합니다.
List<List<String>> 소스 = Lists.newArrayList();
List<String> tmpL = Lists.newArrayList();
tmpL.add("Titile1");
tmpL.add("Titile2");
소스.추가(tmpL);
writeCsv(소스);
readCsv(새 파일("d:///123.csv"));
}
}