引用CSV格式转换器中的值。
/* from n o w j a v a . c o m - 时代Java */ /******************************************************************************* * Copyright (c) 2008 Actuate Corporation. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Actuate Corporation - initial API and implementation *******************************************************************************/ //package com.nowjava; public class Main { public static final String QUOTE = "\""; /** * Quotes a value in CSV format converter. Here are the rules: * <ol><li>Fields with given separator must be delimited with double-quote * characters.</li> * <li>Fields that contain double quote characters must be * surrounded by double-quotes, and the embedded double-quotes must each be * represented by a pair of consecutive double quotes.</li> * <li>A field that contains embedded line-breaks must be surrounded by * double-quotes.</li> * <li>Fields with leading or trailing spaces must be delimited with * double-quote characters.</li> * <li>Null values are represented by empty strings without quotes</li> * * @param value value to quote * @param sep CSV separator, to check whether the value contains it * @return the value quoted in CSV format */ public static String quoteCSVValue(String value, String sep) { if (value == null) { return null; } else if (value.length() == 0) { return QUOTE + QUOTE; } // escape quotes value = value.replaceAll(QUOTE, QUOTE + QUOTE); /* 来 自 时 代 J a v a - N o w J a v a . c o m*/ boolean needQuote = false; needQuote = (value.indexOf(sep) != -1) || (value.indexOf(QUOTE) != -1) || (value.indexOf('\n') != -1) // line break || value.s