だから私はテキストエディタを設計しています。Open/Save メソッドについては、TextArea を使用しようとしています (1 つである必要はありません。現在のメソッドです)。今、私は今2つの問題を抱えています:
1) ファイルをロードしても、現在テキスト エディターにあるコンテンツは削除されません。たとえば、「Owl」と入力してから「Rat」を含むファイルをロードすると、「OwlRat」になります。これを解決するために、replaceRange メソッドを使用する予定です (繰り返しますが、これは絶対的なものではありません。何か提案があれば素晴らしいです!)。ただし、選択したテキストだけでなく、テキスト エディターのすべての内容を置き換える必要があり、その方法がわかりません。任意のヒント?
2) 現在、ファイルをロードしても、アプリケーションの実行と同時にそのファイルを保存しない限り、何も起こりません。したがって、たとえば、プログラムを実行し、ファイルを保存し、プログラムを閉じ、プログラムを再度実行してからファイルをロードしても、何も起こりません。これは、文字列 x が引き継がれないためであることはわかっていますが、とにかくそれを修正することは考えられません。誰かがベクトルを提案しましたが、それらがどのように役立つかわかりません...
Open/Save メソッドのコードは次のとおりです。
開ける:
public void Open(String name){
File textFile = new File(name + ".txt.");
BufferedReader reader = null;
try
{
textArea.append(x);
reader = new BufferedReader( new FileReader( textFile));
reader.read();
}
catch ( IOException e)
{
}
finally
{
try
{
if (reader != null)
reader.close();
}
catch (IOException e)
{
}
}
}
保存:
public void Save(String name){
File textFile = new File(name + ".txt");
BufferedWriter writer = null;
try
{
writer = new BufferedWriter( new FileWriter(textFile));
writer.write(name);
x = textArea.getText();
}
catch ( IOException e)
{
}
finally
{
try
{
if ( writer != null)
writer.close( );
}
catch ( IOException e)
{
}
}
}