Removing duplicate white spaces from a text file

This section shows you how to remove all duplicate white
spaces from a specific text file. In this section a program is given as follows
for the best illustration for how to remove all duplicate white spaces from the
given text file. This program reads the file line-by-line for search the
duplicate white spaces and replace all duplicate white spaces with the single
white space.
Program Result:
This program takes a text file name from which it reads
text line-by-line and replaces all duplicate white spaces with a single white
spaces for removing all duplicate white spaces from the text file. And finally
this program writes the whole string to the file which is without any duplicate
white space.
These all operations are performed by the program after
checking whether the given is existing or not. If the file does not exist then
the whole operations are denied otherwise it performs all the operations
efficiently.
Code Description:
DataInputStream:
This is the class of the java.io package which is used to read
primitive data types from a specified file.
FileWriter:
This is the class of java.io package which is used to write contents
to the specified file in the UTF-8 format.
Here is the code of the program:
import java.util.regex.*;
import java.io.*;
public class RemoveDuplicateSpaceFromFile{
public static void main(String[] args) throws IOException{
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Enter file name: ");
String filename = bf.readLine();
File file = new File(filename);
if(!filename.endsWith(".txt")){
System.out.println("Usage: This is not a text file!");
System.exit(0);
}
else if(!file.exists()){
System.out.println("File not found!");
System.exit(0);
}
FileInputStream fstream = new FileInputStream(filename);
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
Pattern p;
Matcher m;
String afterReplace = "";
String strLine;
String inputText = "";
while ((strLine = br.readLine()) != null){
System.out.println (strLine);
inputText = strLine;
p = Pattern.compile("\\s+");
m = p.matcher(inputText);
System.out.println(afterReplace);
afterReplace = afterReplace + m.replaceAll(" ") + "\r\n";
}
FileWriter fstream1 = new FileWriter(filename);
BufferedWriter out = new BufferedWriter(fstream1);
out.write(afterReplace);
in.close();
out.close();
}
}
|
Download
this example.

|
Current Comments
0 comments so far (post your own) View All Comments Latest 10 Comments: