Witam
mam pytanie
poniżej podaje kod który tworzę i moje pytanie jak zrobić, żeby plik zapisywał się do pliku np:. .dat,.txt lub innym formacje textArea oraz odczytywał plik .dat,.txt lub innym formacje z textArea.
bo na tym się zaciąłem
podaje poniżej kod
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class testab extends Frame implements WindowListener, ActionListener
{ TextArea textArea;
Frame okno_info = new Frame("O_programie");
public testab()
{ super ( );
addWindowListener(this);
setSize(800, 600);
setResizable(false);
setTitle("Edytor plików tekstowych");
setLayout(null);
// okno_info.setDefaultCloseOperation(Frame.EXIT_ON_CLOSE);
okno_info.setSize(300,300);
textArea = new TextArea();
textArea.setBounds(0, 40, 400, 400);
this.add(textArea);
MenuBar menuBar = new MenuBar();
setMenuBar(menuBar);
Menu menu = new Menu("Plik");
menu.add(new MenuItem("Nowy"));
menu.add(new MenuItem("Otwórz"));
menu.add(new MenuItem("Zapisz"));
menu.add(new MenuItem("-"));
menu.add(new MenuItem("Zamknij"));
menuBar.add(menu);
Menu kod = new Menu("Kody");
menuBar.add(kod);
kod.add(new MenuItem("zaszyfrowany"));
kod.add(new MenuItem("odszyfrowany"));
Menu pomoc = new Menu("Pomoc");
menuBar.add(pomoc);
pomoc.add(new MenuItem("O_programie"));
menu.addActionListener(this);
setVisible(true);
}
// metoda obsługująca wybraną opcję z menu
public void actionPerformed (ActionEvent e)
{
String command = e.getActionCommand();
if (command.equals("Zamknij"))
{
System.exit(0);
}
else if (command.equals("Nowy"))
{
textArea.setText(""); //czyści tekst
}
else if (command.equals("Otwórz"))
{
String fileName = ShowFileDialog(FileDialog.LOAD);
if (fileName != null)
{ // wywołanie metody otwarcia pliku
Load(fileName);
}
}
else if (command.equals("Zapisz"))
{ String fileName = ShowFileDialog(FileDialog.SAVE);
if (fileName != null)
{ // wywołanie metody zapisu pliku
Save(fileName);
}
}
else if (command.equals("O_programie"))
{
}
}
// metoda odpowiedzialna za wyświetlanie okna wyboru pliku
public String ShowFileDialog (int mode)
{ // tworzymy nowe okno dialogowe
FileDialog fileDialog = new FileDialog(this);
// ustalamy tryb odczyt / zapis
fileDialog.setMode(mode);
// wyświetlamy okno dialogowe
fileDialog.show();
// pobieramy i zwracamy nazwę wybranego pliku
String fileName = fileDialog.getFile();
return (fileName);
}
// wczytanie i wyświetlenie pliku
public void Load (String fileName)
{ // tworzenie zmiennych strumienia i pliku wejściowego
FileInputStream fileInput = null;
File file = new File(fileName);
// otwarcie pliku wejściowego:
// może wystąpić wyjątek, dlatego musimy użyć bloku try...catch
try
{ fileInput = new FileInputStream(file);
}
catch(FileNotFoundException e)
{ System.out.println("Brak pliku " + fileName);
return;
}
textArea.setText("");
byte buffer [ ] = new byte [ (int)file.length() ];
// czytanie z pliku:
// tu też może wystąpić wyjątek, dlatego używamy bloku try...catch
try
{ fileInput.read(buffer);
{ textArea.append (new String(buffer));
}
fileInput.close();
}
catch(IOException e)
{ System.out.println("Bład podczas czytania pliku");
return;
}
// zmieniamy tytuł aplikacji
setTitle("Edytor plików tekstowych [" + fileName + "]");
}
// zapis tekstu do pliku na dysk
public void Save (String fileName)
{ // tworzenie zmiennych strumienia i pliku wyjściowego
FileOutputStream fileOutput = null;
File file = new File(fileName);
// otwarcie pliku wyjściowego:
// może wystąpić wyjątek, dlatego musimy użyć bloku try...catch
try
{ fileOutput = new FileOutputStream(file);
}
catch(FileNotFoundException e)
{ System.out.println("Błąd otwarcia do zapisu pliku " + fileName);
return;
}
// zapis do pliku:
// tu też może wystąpić wyjątek, dlatego używamy bloku try...catch
try
{ byte buffer[] = textArea.getText().getBytes();
fileOutput.write(buffer);
fileOutput.close();
}
catch(IOException e)
{ System.out.println("Błada podczas zapisu pliku");
return;
}
// zmieniamy tytuł aplikacji
setTitle("Edytor plików tekstowych [" + fileName + "]");
}
public static void main(String args[])
{
new testab();
}
public void windowClosing (WindowEvent e) { System.exit(0); }
public void windowClosed (WindowEvent e) { }
public void windowOpened (WindowEvent e) { }
public void windowIconified (WindowEvent e) { }
public void windowDeiconified(WindowEvent e) { }
public void windowActivated (WindowEvent e) { }
public void windowDeactivated(WindowEvent e) { }
}
z góry dziękuje bardzo za odpowiedz