2 * Rozšířené atributy – program na správu rozšířených atributů souborů
3 * Copyright © 2023 František Kučera (frantovo.cz)
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 package cz.frantovo.rozsireneatributy;
19 import java.io.IOException;
20 import java.io.Writer;
23 * Generátor standardních CSV.
25 * @author Ing. František Kučera (frantovo.cz)
29 private final Writer výstup;
30 private int sloupec = 0;
31 private int početSloupců = -1;
33 public CSV(Writer výstup) {
37 public void hodnota(String hodnota) throws IOException {
38 if (sloupec > 0) výstup.write(',');
39 if (hodnota != null && !hodnota.isEmpty()) {
41 for (char ch : hodnota.toCharArray()) {
42 if (ch == '"') výstup.write('"');
51 public void konecŘádku() throws IOException {
52 if (početSloupců < 0) početSloupců = sloupec;
53 if (sloupec == početSloupců) {
57 throw new IOException("Neodpovídá počet sloupců:"
58 + " aktuální=" + sloupec
59 + " celkový=" + početSloupců