Let’s say c:/myFile.txt looks like this >
you are learning file io from javaMadeSoEasy
|
Write a Program to Sort all contents/words of file and write it back in file in java, such that after execution of program file must look like this -
are file from io javaMadeSoEasy learning you
|
Logic >
1) Read file in String (i.e. in fileDataInString).
2) split string around space and store it in array.
3) Sort the array.
4) Now, write sorted content in file.
Program to Sort all contents/words of file and write it back in file in java >
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Arrays;
/** JavaMadeSoEasy.com */
public class SortWordsInFile {
public static void main(String[] args) {
String fileName ="c:/myFile.txt";
String fileDataInString = new String();
try {
//1) Read file in String (i.e. in fileDataInString)
FileReader fr = new FileReader(fileName);
BufferedReader br = new BufferedReader(fr);
int data;
while((data = br.read())!=-1){
fileDataInString = fileDataInString+String.valueOf(((char)data));
}
br.close();
//By now, String fileDataInString contains all the data of file
//2) split string around space and store it in array
String[] l=fileDataInString.split(" ");
//3) Sort the array
Arrays.sort(l);
System.out.print("Display sorted array > ");
//Display sorted array
for(String str: l){
System.out.print(str+" ");
}
//4) Now, write sorted content in file
FileWriter fw = new FileWriter(fileName);
BufferedWriter bw = new BufferedWriter(fw);
for(String str: l){
bw.write(str);
bw.write(" ");
}
bw.close();
System.out.println("\nSorted content has been written in file");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
/*OUTPUT
Display sorted array > are file from io javaMadeSoEasy learning you
Sorted content has been written in file
*/
|
RELATED LINKS>
Create File using createNewFile() method in java file IO
Copy a file in java 2 in ways
Program to Write BYTE data type in file using DataOutputStream and Read BYTE from file using DataInputStream - java file IO
Find current directory or current path in java
Labels:
Core Java
File IO/File handling