Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Reading from a string or stringbuffer

Posted on 2004-10-13
11
Medium Priority
?
1,242 Views
Last Modified: 2012-05-21
I am successfully able to read line-by-line from a file stream.  Is there a way to do the same thing using a string or a stringbuffer?  In other words, if I had information that was passed in from an HTML <TEXTAREA> and it was multiple lines, is there a way in Java to read that line-by-line?

Thanks
0
Comment
Question by:techhound
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 3
  • 3
  • +1
11 Comments
 
LVL 37

Expert Comment

by:zzynx
ID: 12297276
>>line-by-line
You mean that a \r\n should delimit the lines?
0
 
LVL 14

Expert Comment

by:sudhakar_koundinya
ID: 12297301
StringTokenizer st=new StringTokenizer(string or stringbuffer.toString(),"\r\n");

Is this what you want
0
 
LVL 14

Assisted Solution

by:sudhakar_koundinya
sudhakar_koundinya earned 800 total points
ID: 12297313
String str="Hello World!!!\r\n I am user of Experts Exchange\r\nI am a Java Programmer";
 StringTokenizer st=new StringTokenizer(str);

while(str.hasMoreElements())
String str1=st.nextElement();
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 11

Accepted Solution

by:
cjjclifford earned 1200 total points
ID: 12297352
you can use a java.io.BufferedReader (which is presumably how you did it for the file stream) instantiated with a java.lang.StringReader instead...

BufferedReader reader = new BufferedReader( new StringReader( myString ) );
reader.readLine();
0
 
LVL 37

Expert Comment

by:zzynx
ID: 12297356
StringTokenizer is a legacy class that is retained for compatibility reasons although its use is discouraged in new code.
It is recommended that anyone seeking this functionality use the split method of String or the java.util.regex package instead

That's why this is better:

        String originalString = "Line1\r\nLine2";
        String lines[] = originalString.split("\r\n");
0
 
LVL 11

Expert Comment

by:cjjclifford
ID: 12297363
that way the same code you used for the file can be re-used, just change how the BufferedReader is created...
0
 
LVL 37

Expert Comment

by:zzynx
ID: 12297491
Hi techhound,

If you consider as assisted answer a solution that uses a class which use is discouraged,
I feel like my comment also deserved the label "assisted answer".
0
 
LVL 37

Expert Comment

by:zzynx
ID: 12297504
The "accepted answer" is certainly the way to go
0
 
LVL 11

Expert Comment

by:cjjclifford
ID: 12297908
:-)
0
 
LVL 14

Expert Comment

by:sudhakar_koundinya
ID: 12297965
thanks for accepting
0
 

Expert Comment

by:hellolyfing
ID: 37995107
Some days ago.I met the same question.
Until last night, I suddenly realized that StringBuffer is just a mid-parameter,why don't we connect the source String with the destination string-collector directly?!
like this:
------
before:
StringBuffer sb = new StringBuffer();
while() {
       sb.append(something)
}

Open in new window

-------
after:
ArrayList<String>  al = new ArrayList<String>();
while() {
      al.append(someting +  "\n\r")
}

Open in new window

and just return the ArrayList instance.
0

Featured Post

The top UI technologies you need to be aware of

An important part of the job as a front-end developer is to stay up to date and in contact with new tools, trends and workflows. That’s why you cannot miss this upcoming webinar to explore the latest trends in UI technologies!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction This article is the first of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article explains our test automation goals. Then rationale is given for the tools we use to a…
Basic understanding on "OO- Object Orientation" is needed for designing a logical solution to solve a problem. Basic OOAD is a prerequisite for a coder to ensure that they follow the basic design of OO. This would help developers to understand the b…
This video teaches viewers about errors in exception handling.
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …
Suggested Courses

715 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question