复制番号代番号次のように:
java.io.ファイルをインポートします。
インポート 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 をインポートします。
com.google.common.primitives.Bytes をインポートします。
パブリック クラス FooUtilsCsvHelper {
// CSV のデフォルトの区切り文字は「,」です
プライベート最終静的文字列 DEFAULT_DELIMITER = ",";
// 新しい行をマークします
プライベート最終静的文字列 DEFAULT_END = "/r/n";
// UTF-8 が必要ない場合は、バイト配列を置き換えるだけです。
プライベート最終静的バイト commonCsvHead[] = { (バイト) 0xEF、(バイト) 0xBB、
(バイト) 0xBF };
/**
* ソースをcsvファイルに書き込む
*
* @paramソース
* @throws IOException
*/
public static void writeCsv(List<List<String>> ソース) throws IOException {
// Aoid java.lang.NullPointerException
Preconditions.checkNotNull(ソース);
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ファイル
* @throws IOException
*/
public static void readCsv(File file) throws IOException {
System.out.println(Files.readFirstLine(file, Charsets.UTF_8));
}
// 小さなテストを自分で実行します。
public static void main(String[] args) throws IOException {
List<List<String>> ソース = Lists.newArrayList();
List<String> tmpL = Lists.newArrayList();
tmpL.add("测试タイトル1");
tmpL.add("测试titile2");
ソース.add(tmpL);
writeCsv(ソース);
readCsv(新しいファイル("d:///123.csv"));
}
}