Eisenwave

Java: Simple Text Sorter

Dec 25th, 2015
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.30 KB | None | 0 0
  1. import java.io.BufferedReader;
  2. import java.io.BufferedWriter;
  3. import java.io.File;
  4. import java.io.FileReader;
  5. import java.io.FileWriter;
  6. import java.io.IOException;
  7. import java.io.InputStreamReader;
  8. import java.util.ArrayList;
  9. import java.util.Collections;
  10. import java.util.List;
  11.  
  12. public class Main {
  13.  
  14.     public static void main(String[] args) throws IOException {
  15.         System.out.println("INPUT FILEPATH: ");
  16.        
  17.         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  18.         String filepath;
  19.         try {filepath = br.readLine();}
  20.         catch (IOException ex) {filepath = "";}
  21.        
  22.         File file = new File(filepath);
  23.         if (!file.exists()) {System.out.println("INVALID FILEPATH"); return;}
  24.         if (!file.getName().endsWith(".txt")) {System.out.println("FILE MUST BE A TEXT FILE"); return;}
  25.        
  26.         BufferedReader fileread = new BufferedReader(new FileReader(file));
  27.        
  28.         List<String> lines = new ArrayList<String>();
  29.         String line = new String();
  30.        
  31.         while (line != null) {
  32.             line = fileread.readLine();
  33.             if (line!=null) lines.add(line);
  34.         } fileread.close();
  35.        
  36.         System.out.println(lines.size());
  37.        
  38.         Collections.sort(lines);
  39.        
  40.         BufferedWriter bw = new BufferedWriter(new FileWriter(file));
  41.         for (String write : lines) {
  42.             bw.write(write);
  43.             bw.newLine();
  44.         } bw.close();
  45.  
  46.     }
  47. }
Advertisement
Add Comment
Please, Sign In to add comment