<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.2.1" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>Comments on: Работа с CSV. Чтение и запись CSV файлов в Java (comma separated values file)</title>
	<link>http://www.javenue.info/post/78</link>
	<description>Блог разработчика о Java и родственных технологиях</description>
	<pubDate>Fri, 10 Sep 2010 06:03:19 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.2.1</generator>

	<item>
		<title>By: Александра</title>
		<link>http://www.javenue.info/post/78#comment-69082</link>
		<author>Александра</author>
		<pubDate>Fri, 14 May 2010 13:37:23 +0000</pubDate>
		<guid>http://www.javenue.info/post/78#comment-69082</guid>
		<description>Давно хотела сказать боль?е спасибо за статьи! Всегда все так понятно изложено, приятно читать и разбираться. Очень помогает в учебе=)</description>
		<content:encoded><![CDATA[<p>Давно хотела сказать боль?е спасибо за статьи! Всегда все так понятно изложено, приятно читать и разбираться. Очень помогает в учебе=)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: c0nst</title>
		<link>http://www.javenue.info/post/78#comment-68985</link>
		<author>c0nst</author>
		<pubDate>Fri, 07 May 2010 22:44:21 +0000</pubDate>
		<guid>http://www.javenue.info/post/78#comment-68985</guid>
		<description>@zlob &#038; Oleg:
Пробовал на разных данных, в том числе и на тех, которые привел zlob, - воспроизвести не удалось.
Вообще такая о?ибка происходит в случае, если некорректно сформирован CSV-файл, а именно не проэскейплена двойная кавычка.

Первое, что приходит на ум - одна из кавычек не является кавычкой, а просто похожим символом (такое иногда происходит при копировании из Word). В частности тот фрагмент CSV, который привел zlob, содержит 2 разных кавычки (если конечно это не проделки Wordpress'a).</description>
		<content:encoded><![CDATA[<p>@zlob &#038; Oleg:<br />
Пробовал на разных данных, в том числе и на тех, которые привел zlob, - воспроизвести не удалось.<br />
Вообще такая о?ибка происходит в случае, если некорректно сформирован CSV-файл, а именно не проэскейплена двойная кавычка.</p>
<p>Первое, что приходит на ум - одна из кавычек не является кавычкой, а просто похожим символом (такое иногда происходит при копировании из Word). В частности тот фрагмент CSV, который привел zlob, содержит 2 разных кавычки (если конечно это не проделки Wordpress&#8217;a).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Oleg</title>
		<link>http://www.javenue.info/post/78#comment-68935</link>
		<author>Oleg</author>
		<pubDate>Wed, 05 May 2010 15:30:04 +0000</pubDate>
		<guid>http://www.javenue.info/post/78#comment-68935</guid>
		<description>В ва?ей библиотеке есть о?ибка.
Падает на 
if (result.contains("\"")) throw new FormatException("invalid csv: misplaced quote"); // could this ever happen at all?

Разбираться было лень, взял opencsv</description>
		<content:encoded><![CDATA[<p>В ва?ей библиотеке есть о?ибка.<br />
Падает на<br />
if (result.contains(&#8221;\&#8221;")) throw new FormatException(&#8221;invalid csv: misplaced quote&#8221;); // could this ever happen at all?</p>
<p>Разбираться было лень, взял opencsv</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: zlob</title>
		<link>http://www.javenue.info/post/78#comment-68198</link>
		<author>zlob</author>
		<pubDate>Thu, 08 Apr 2010 03:44:10 +0000</pubDate>
		<guid>http://www.javenue.info/post/78#comment-68198</guid>
		<description>Exception in thread "main" javenue.csv.Csv$FormatException: invalid csv: misplaced quote
        at javenue.csv.Csv$Reader.unescape(Csv.java:203)
        at javenue.csv.Csv$Reader.readLine(Csv.java:185)

//CSV.java:203
if (result.contains("\"")) throw new FormatException("invalid csv: misplaced quote"); // could this ever happen at all?

it happen :)

;"VW T4 2.4D-2.5 Syncro диск 15"" 98-&#62;";


"Сразу хочу обратить ва?е внимание на то, что стандартное поведение библиотеки рассчитано на чтение и запись CSV файлов, которые понимает Excel..."

Excel спокойно справляется с такими строками.</description>
		<content:encoded><![CDATA[<p>Exception in thread &#8220;main&#8221; javenue.csv.Csv$FormatException: invalid csv: misplaced quote<br />
        at javenue.csv.Csv$Reader.unescape(Csv.java:203)<br />
        at javenue.csv.Csv$Reader.readLine(Csv.java:185)</p>
<p>//CSV.java:203<br />
if (result.contains(&#8221;\&#8221;")) throw new FormatException(&#8221;invalid csv: misplaced quote&#8221;); // could this ever happen at all?</p>
<p>it happen <img src='http://www.javenue.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>;&#8221;VW T4 2.4D-2.5 Syncro диск 15&#8243;&#8221; 98-&gt;&#8221;;</p>
<p>&#8220;Сразу хочу обратить ва?е внимание на то, что стандартное поведение библиотеки рассчитано на чтение и запись CSV файлов, которые понимает Excel&#8230;&#8221;</p>
<p>Excel спокойно справляется с такими строками.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eugene</title>
		<link>http://www.javenue.info/post/78#comment-55754</link>
		<author>Eugene</author>
		<pubDate>Thu, 25 Jun 2009 22:35:27 +0000</pubDate>
		<guid>http://www.javenue.info/post/78#comment-55754</guid>
		<description>Уже на?ел, спасибо</description>
		<content:encoded><![CDATA[<p>Уже на?ел, спасибо</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eugene</title>
		<link>http://www.javenue.info/post/78#comment-55720</link>
		<author>Eugene</author>
		<pubDate>Wed, 24 Jun 2009 20:19:33 +0000</pubDate>
		<guid>http://www.javenue.info/post/78#comment-55720</guid>
		<description>Привет, не подскаже?ь, с какой версией java ты компилил библиотеку для .csv?</description>
		<content:encoded><![CDATA[<p>Привет, не подскаже?ь, с какой версией java ты компилил библиотеку для .csv?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alno</title>
		<link>http://www.javenue.info/post/78#comment-48380</link>
		<author>Alno</author>
		<pubDate>Wed, 25 Mar 2009 08:57:57 +0000</pubDate>
		<guid>http://www.javenue.info/post/78#comment-48380</guid>
		<description>Не пробовали использовать какие-нибудь уже существующие реализации, например, OpenCSV (http://opencsv.sourceforge.net/)?&lt;br /&gt;&lt;br /&gt;
&lt;b&gt;Moderated: Вы?е уже описан смысл статьи и объяснено, почему я не использовал готовые реализации.&lt;/b&gt;</description>
		<content:encoded><![CDATA[<p>Не пробовали использовать какие-нибудь уже существующие реализации, например, OpenCSV (http://opencsv.sourceforge.net/)?</p>
<p><b>Moderated: Вы?е уже описан смысл статьи и объяснено, почему я не использовал готовые реализации.</b></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: c0nst</title>
		<link>http://www.javenue.info/post/78#comment-47995</link>
		<author>c0nst</author>
		<pubDate>Sat, 21 Mar 2009 12:33:39 +0000</pubDate>
		<guid>http://www.javenue.info/post/78#comment-47995</guid>
		<description>Это не о?ибка. Метод unmarkDoubleQuotes приватный и используется в методе для unescape токенов. Может назван визуально он и не совсем правильно, но семантически название подобрано верно.
? потом, все TestCases проходят. А как они могли бы проходить с о?ибками в коде?</description>
		<content:encoded><![CDATA[<p>Это не о?ибка. Метод unmarkDoubleQuotes приватный и используется в методе для unescape токенов. Может назван визуально он и не совсем правильно, но семантически название подобрано верно.<br />
? потом, все TestCases проходят. А как они могли бы проходить с о?ибками в коде?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike</title>
		<link>http://www.javenue.info/post/78#comment-47899</link>
		<author>Mike</author>
		<pubDate>Fri, 20 Mar 2009 08:23:19 +0000</pubDate>
		<guid>http://www.javenue.info/post/78#comment-47899</guid>
		<description>Код содержит о?ибку.
Метод unmarkDoubleQuotes класса Csv должен выглядеть так:
private String unmarkDoubleQuotes(String s) { return s.replace(impossibleString, "\"\""); }

а не так:

private String unmarkDoubleQuotes(String s) { return s.replace(impossibleString, "\""); }</description>
		<content:encoded><![CDATA[<p>Код содержит о?ибку.<br />
Метод unmarkDoubleQuotes класса Csv должен выглядеть так:<br />
private String unmarkDoubleQuotes(String s) { return s.replace(impossibleString, &#8220;\&#8221;\&#8221;"); }</p>
<p>а не так:</p>
<p>private String unmarkDoubleQuotes(String s) { return s.replace(impossibleString, &#8220;\&#8221;"); }</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Igor</title>
		<link>http://www.javenue.info/post/78#comment-38615</link>
		<author>Igor</author>
		<pubDate>Fri, 26 Dec 2008 06:41:16 +0000</pubDate>
		<guid>http://www.javenue.info/post/78#comment-38615</guid>
		<description>Можете посоветовать, как прочитать правильно файл раз?ифровки разговоров по мобильному телефону. Все номера, которые не в корпоративе, записаны в экспоненциальном виде, замена формата ячеек в Excel результата не дает. Спасибо.</description>
		<content:encoded><![CDATA[<p>Можете посоветовать, как прочитать правильно файл раз?ифровки разговоров по мобильному телефону. Все номера, которые не в корпоративе, записаны в экспоненциальном виде, замена формата ячеек в Excel результата не дает. Спасибо.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
