Reputation: 11
good day!who any one can help on how to sort data from my name.txt
test.text
cath zeny ana dana maria sheila
heres my code:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileNotFoundException;
import java.io.IOException;
public class ReadTextFileExample {
public static void main(String[] args) {
File file = new File("name.txt");
StringBuffer contents = new StringBuffer();
BufferedReader reader = null;
try {
reader = new BufferedReader(new FileReader(file));
String text = null;
while ((text = reader.readLine()) != null) {
contents.append(text).append(System.getProperty("line.separator"));
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (reader != null) {
reader.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
System.out.println(contents.toString());
}
}
Upvotes: 1
Views: 7192
Reputation: 1486
sorry, don't have much time to explain ...
you could put all your strings into a linkedlist or arraylist and use the Collections.sort( List lst )
method to sort them.
greetings
Upvotes: 0
Reputation: 8532
//Stores cath zeny ana diana etc in a String array
String[] names=contents.split(System.getProperty("line.seperator"));
//bubble sort
for(int i=0;i<names.length;i++)
for(int j=0;j<names.length;j++)
{
int compare=names[i].compareTo(names[j]);
if(compare > 0 )
//swap names[i] and names[j]
else
//do nothins
}
The above code should sort all the names in this array.
Upvotes: 0
Reputation: 2725
Put the strings into a list:
List<string> strings = new ArrayList<string>();
while ((text = reader.readLine()) != null) {
strings.add(text);
}
Sort the strings:
Collections.sort(strings);
Do whatever with the sorted strings, like concatenating in a single line:
StringBuffer contents = new StringBuffer();
for (string s : strings) {
contents.append(text).append(System.getProperty("line.separator"));
}
Upvotes: 4