Solved

Reading from a string or stringbuffer

Posted on 2004-10-13
11
1,219 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
  • 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 200 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
Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

 
LVL 11

Accepted Solution

by:
cjjclifford earned 300 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

Courses: Start Training Online With Pros, Today

Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.

Question has a verified solution.

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

Suggested Solutions

By the end of 1980s, object oriented programming using languages like C++, Simula69 and ObjectPascal gained momentum. It looked like programmers finally found the perfect language. C++ successfully combined the object oriented principles of Simula w…
Java functions are among the best things for programmers to work with as Java sites can be very easy to read and prepare. Java especially simplifies many processes in the coding industry as it helps integrate many forms of technology and different d…
Viewers will learn one way to get user input in Java. Introduce the Scanner object: Declare the variable that stores the user input: An example prompting the user for input: Methods you need to invoke in order to properly get  user input:
The viewer will learn how to implement Singleton Design Pattern in Java.

786 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