From 7064e58e7d9157a272a23f2f657a3d2447fc4434 Mon Sep 17 00:00:00 2001 From: Moein Alemi nia Date: Thu, 24 Apr 2025 23:40:35 +0330 Subject: [PATCH] update file manager class --- src/editor/FileManager.java | 54 ++++++++++++++++++++++++++++++++----- 1 file changed, 48 insertions(+), 6 deletions(-) diff --git a/src/editor/FileManager.java b/src/editor/FileManager.java index ee77200..53bd932 100644 --- a/src/editor/FileManager.java +++ b/src/editor/FileManager.java @@ -1,13 +1,31 @@ package editor; import javax.swing.*; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.PrintStream; +import java.util.Scanner; public class FileManager { - public static void openFile(TextEditor textEditor, JTextArea textArea) { + private static int number = 10000; + + public static void openFile(TextEditor textEditor, JTextArea textArea){ + textArea.setText(""); JFileChooser fileChooser = new JFileChooser(); if (fileChooser.showOpenDialog(textEditor) == JFileChooser.APPROVE_OPTION) { - //File file = fileChooser.getSelectedFile(); - //TODO + File file = fileChooser.getSelectedFile(); + textEditor.currentFile = file; + try { + Scanner scanner = new Scanner(textEditor.currentFile); + String line; + while ((line = scanner.nextLine()) != null){ + textArea.append(line + "\n"); + } + scanner.close(); + } catch (FileNotFoundException e) { + e.getStackTrace(); + } } } @@ -15,15 +33,39 @@ public static void saveFile(TextEditor textEditor, JTextArea textArea) { if (textEditor.currentFile == null){ JFileChooser fileChooser = new JFileChooser(); if (fileChooser.showSaveDialog(textEditor) == JFileChooser.APPROVE_OPTION) { - //TODO + try { + PrintStream printStream = new PrintStream(fileChooser.getSelectedFile()); + printStream.print(textArea.getText()); + printStream.close(); + } catch (FileNotFoundException e) { + e.getStackTrace(); + } } } else{ - //TODO + try { + PrintStream printStream = new PrintStream(textEditor.currentFile); + printStream.print(textArea.getText()); + printStream.close(); + } catch (FileNotFoundException e) { + e.getStackTrace(); + } } } public static void newFile(TextEditor textEditor, JTextArea textArea) { - //TODO + File file = new File("newfile" + number + ".txt"); + number++; + try { + if(file.createNewFile()){ + textEditor.currentFile = file; + System.out.println("file created: " + file.getName()); + textArea.setText(""); + }else{ + System.out.println("file already exists."); + } + } catch (IOException e) { + e.getStackTrace(); + } } }