Guest User

Untitled

a guest
Mar 17th, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.13 KB | None | 0 0
  1. /*
  2. * File Chooser Homework
  3. * Text Analyzer Project
  4. * CSE2015 - Programming Language 2 Java (KMH)
  5. * Southeast University
  6. */
  7. package text.analyzer;
  8.  
  9. import java.io.File;
  10. import java.io.FileNotFoundException;
  11. import java.io.IOException;
  12. import java.io.RandomAccessFile;
  13. import java.net.URL;
  14. import java.util.ResourceBundle;
  15. import java.util.logging.Level;
  16. import java.util.logging.Logger;
  17. import javafx.event.ActionEvent;
  18. import javafx.fxml.FXML;
  19. import javafx.fxml.Initializable;
  20. import javafx.scene.control.Button;
  21. import javafx.scene.control.Label;
  22. import javafx.scene.control.TextArea;
  23. import javafx.scene.control.TextField;
  24. import javafx.stage.FileChooser;
  25.  
  26. /**
  27. *
  28. * @author kmhasan
  29. */
  30. public class FXMLDocumentController implements Initializable {
  31.  
  32. @FXML
  33. private TextArea textArea;
  34. @FXML
  35. private TextField filenameTextField;
  36. @FXML
  37. private Button fileOpenButton;
  38. @FXML
  39. private TextField wordsTextField;
  40.  
  41. @Override
  42. public void initialize(URL url, ResourceBundle rb) {
  43. // String text = "Hello\nWorld\n";
  44. // textArea.setText(text);
  45. // textArea.appendText("Here goes another line");
  46. // wordsTextField.setText("1");
  47. }
  48.  
  49. @FXML
  50. private void handleFileOpenAction(ActionEvent event) {
  51. // Homework: try to use FileChooser
  52.  
  53. FileChooser fc = new FileChooser();
  54.  
  55. File fname = fc.showOpenDialog(null);
  56.  
  57. if(fname!=null){
  58. filenameTextField.setText(fname.getName());
  59. }
  60. else{
  61. filenameTextField.setText("Try again!");
  62. }
  63.  
  64. String filename = filenameTextField.getText();
  65.  
  66. textArea.clear();
  67.  
  68. try {
  69. RandomAccessFile input = new RandomAccessFile(filename, "r");
  70.  
  71. String line;
  72. String filecontent = "";
  73. while (true) {
  74. line = input.readLine();
  75. if (line == null)
  76. break;
  77. // The following line is ugly!
  78. // We should use StringBuilder instead
  79. filecontent = filecontent + " " + line;
  80. textArea.appendText(line + "\n");
  81. }
  82.  
  83. int words = countWords(filecontent);
  84. wordsTextField.setText("" + words);
  85. } catch (FileNotFoundException ex) {
  86. System.err.println("File does not exist");
  87. } catch (IOException ex) {
  88. System.err.println("Some I/O exception occured");
  89. }
  90. }
  91.  
  92. private int countWords(String filecontent) {
  93. // For future:
  94. // Once you've completed CSE3025, revisit this problem
  95. // You need to know what Regular Expressions are
  96. int count = 0;
  97.  
  98. while (filecontent.contains(" "))
  99. filecontent = filecontent.replaceAll(" ", " ");
  100. filecontent = filecontent.trim();
  101.  
  102. for (int i = 0; i < filecontent.length(); i++)
  103. if (filecontent.charAt(i) == ' ' || filecontent.charAt(i) == ',')
  104. count++;
  105.  
  106. if (filecontent.length() != 0)
  107. return count + 1;
  108. else return 0;
  109. }
  110.  
  111. }
Add Comment
Please, Sign In to add comment