Advertisement
xlrnxnlx

5rwklejrj

Nov 26th, 2014
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.28 KB | None | 0 0
  1. import java.awt.event.ActionEvent;
  2. import java.awt.event.ActionListener;
  3. import java.io.BufferedReader;
  4. import java.io.BufferedWriter;
  5. import java.io.File;
  6. import java.io.FileNotFoundException;
  7. import java.io.FileReader;
  8. import java.io.FileWriter;
  9. import java.io.IOException;
  10. import javax.swing.JButton;
  11. import javax.swing.JFileChooser;
  12. import javax.swing.JOptionPane;
  13. import javax.swing.filechooser.FileFilter;
  14.  
  15. // @author rnxn
  16. public class Handle implements ActionListener {
  17.    
  18.     private File file;
  19.     private final Window window;
  20.  
  21.     public Handle(final Window window) {
  22.         this.window = window;
  23.         for(JButton btn:window.getButtons())
  24.             btn.addActionListener(this);
  25.         window.setVisible(true);
  26.     }
  27.    
  28.     @Override
  29.     public void actionPerformed(ActionEvent e) {
  30.         switch(e.getActionCommand()){
  31.             case "search":
  32.                 search();
  33.                 break;
  34.             case "create":
  35.                 if(create())
  36.                     JOptionPane.showMessageDialog(window, "Arquivo gerado.", "", JOptionPane.INFORMATION_MESSAGE);
  37.                 break;
  38.         }
  39.     }
  40.    
  41.     private boolean search(){
  42.         JFileChooser flchooser = new JFileChooser(System.getProperty("user.home"));
  43.         flchooser.setDialogTitle("Buscar arquivo .txt");
  44.         flchooser.setFileFilter(new FileFilter() {
  45.             @Override
  46.             public boolean accept(File f) {
  47.                 return f.getName().toLowerCase().endsWith(".txt");
  48.             }
  49.  
  50.             @Override
  51.             public String getDescription() {
  52.                 return "Arquivos .txt";
  53.             }
  54.         });
  55.         flchooser.setAcceptAllFileFilterUsed(false);
  56.         flchooser.setMultiSelectionEnabled(false);
  57.         int response = flchooser.showOpenDialog(window);
  58.         if(response == JFileChooser.APPROVE_OPTION){
  59.             file = flchooser.getSelectedFile();
  60.             if(file != null){
  61.                 window.setButtonState(true);
  62.             } else {
  63.                 window.setButtonState(false);
  64.             }
  65.         }
  66.         return false;
  67.     }
  68.    
  69.     private boolean create(){
  70.         String path = file.getParent();
  71.         try {
  72.            // System.out.println(path);
  73.             File nwFile = new File(path+"\\tags.txt");
  74.             nwFile.createNewFile();
  75.            
  76.             try (BufferedWriter bw = new BufferedWriter(new FileWriter(nwFile))) {
  77.                 bw.write(parse(file));
  78.             }
  79.             return true;
  80.         } catch(Exception e){
  81.             //System.out.println(e.getMessage());
  82.             return false;
  83.         }  
  84.     }
  85.    
  86.     private String parse(File slFile) throws FileNotFoundException, IOException{
  87.         StringBuilder sb = new StringBuilder();
  88.         try (BufferedReader br = new BufferedReader(new FileReader(slFile))) {
  89.             while(br.ready()){
  90.                 String line = br.readLine();
  91.                 String words[] = line.split("[\\W]"); /*regex*/
  92.                 if(words.length > 0){
  93.                     for(String str:words)
  94.                         if(str.length() > 0)
  95.                             sb.append(Enum.IN.get()).append(str).append(Enum.OUT.get());
  96.                 }
  97.             }
  98.         }
  99.         return sb.toString();
  100.     }
  101. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement