Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Java (http://www.velocityreviews.com/forums/f30-java.html)
-   -   StringTokenizer() with "\" character (http://www.velocityreviews.com/forums/t633015-stringtokenizer-with-character.html)

snehapshinde@gmail.com 08-30-2008 08:24 AM

StringTokenizer() with "\" character
 
String filename="C:\Program Files\Apache Software Foundation\Tomcat
5.5\webapps\upload\multipartform.htm";

StringTokenizer st=new StringTokenizer(filename,"\",false);
String v="";
while(st.hasMoreTokens())
{
v=st.nextToken();
}
out.print(" filename is "+v+" this");

This piece of code is throwing following exception-
An error occurred at line: 3 in the jsp file: /Save.jsp
Generated servlet error:
String literal is not properly closed by a double-quote

But if i replace "\" with ".", then it is working fine,
What is the problem with "\"?
Plz Help!

Donkey Hottie 08-30-2008 08:33 AM

Re: StringTokenizer() with "\" character
 
snehapshinde@gmail.com wrote in news:c3336a2c-6f21-4f5a-bf91-748b3f91aa26
@k36g2000pri.googlegroups.com:

> String filename="C:\Program Files\Apache Software Foundation\Tomcat
> 5.5\webapps\upload\multipartform.htm";
>
> StringTokenizer st=new StringTokenizer(filename,"\",false);
> String v="";
> while(st.hasMoreTokens())
> {
> v=st.nextToken();
> }
> out.print(" filename is "+v+" this");
>
> This piece of code is throwing following exception-
> An error occurred at line: 3 in the jsp file: /Save.jsp
> Generated servlet error:
> String literal is not properly closed by a double-quote
>
> But if i replace "\" with ".", then it is working fine,
> What is the problem with "\"?
> Plz Help!
>


\ is a special character in C and related languages, there are constructs
like

\b (bell)
\a (bell)
\n new line (LF)
\r carriage return (CR)

The character following a \ is assumed to have some special meaning, and it
will not be processed as it is. Java finds something special for \" and
while there will not be anything special that probably is blank.

But putting \\ in there will lead to a special value: \

StringTokenizer st=new StringTokenizer(filename,"\\",false);

Lars Enderin 08-30-2008 04:12 PM

Re: StringTokenizer() with "\" character
 
Lew wrote:
> snehapshinde@gmail.com wrote:
>>> String filename="C:\Program Files\Apache Software Foundation\Tomcat
>>> 5.5\webapps\upload\multipartform.htm";

>
> You need to double the backslashes.
>
>>> StringTokenizer st=new StringTokenizer(filename,"\",false);
>>> String v="";
>>> while(st.hasMoreTokens())
>>> {
>>> v=st.nextToken();
>>> }
>>> out.print(" filename is "+v+" this");
>>>
>>> This piece of code is throwing following exception-
>>> An error occurred at line: 3 in the jsp file: /Save.jsp
>>> Generated servlet error:
>>> String literal is not properly closed by a double-quote
>>>
>>> But if i replace "\" with ".", then it is working fine,
>>> What is the problem with "\"?
>>> Plz [sic] Help!

>
> The problem was programmer error.
>
> <http://java.sun.com/docs/books/jls/third_edition/html/lexical.html#3.10.6>
>> It is a compile-time error if the character following a backslash in
>> an escape is not an ASCII b, t, n, f, r, ", ', \, 0, 1, 2, 3, 4, 5, 6,
>> or 7.

>

Which includes ". The error was a missing quote, as stated. Inside a
quoted string, the quoting character must be escaped. Thus "\"" is a
string consisting of one ".

Roedy Green 09-01-2008 03:22 AM

Re: StringTokenizer() with "\" character
 
On Sat, 30 Aug 2008 01:24:07 -0700 (PDT), snehapshinde@gmail.com
wrote, quoted or indirectly quoted someone who said :

>StringTokenizer st=new StringTokenizer(filename,"\",false);


see http://mindprod.com/jgloss/literal.html
--

Roedy Green Canadian Mind Products
The Java Glossary
http://mindprod.com


All times are GMT. The time now is 12:24 PM.

Powered by vBulletin®. Copyright ©2000 - 2013, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.