Java 如何使用printwriter将Jtextarea中的文本传输到文本文件?

Java 如何使用printwriter将Jtextarea中的文本传输到文本文件?,java,textarea,jtextarea,printwriter,Java,Textarea,Jtextarea,Printwriter,如何使用Printwriter将文本从文本区域传输到文本文件 我应该把代码放在哪里:Printwriter f=newprintwriter(“”)?如果一个方法有一个函数:System.out.println,我如何将该方法将打印的内容放置到Jtextarea import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.io.*; public class R

如何使用Printwriter将文本从文本区域传输到文本文件

我应该把代码放在哪里:
Printwriter f=newprintwriter(“”)
?如果一个方法有一个函数:
System.out.println
,我如何将该方法将打印的内容放置到Jtextarea

    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    import java.io.*;
    public class ReliefFrame extends JFrame
    {
    ......

    }

    private void createNorthPanel()
    {
        .....
    }
    private void createEastPanel()
    {
        .....
    }
    private void createWestPanel()
    {
        .....
    }
    private void createSouthPanel()
    {
        ......
    }

    private void createaTextField()
    {
        .....
    }
    private void createTextArea()
    {
        ......
    }   
    private void createCButton()
    {
        button[2] = new JButton( "Release Packs" );
        class ButtonListener implements ActionListener
        { 
            public void actionPerformed( ActionEvent ae )
            {
                String a = bTextField.getText();
                int b=Integer.parseInt(a);
                s.releasePacks(b);
                bTextField.setText( "" );           
            }
        }
        button[2].addActionListener( new ButtonListener() );
        rowwww.add( button[2] ); 
    }
    private void createEButton()
    {
        button[4] = new JButton( "Inventory Report" );
        class ButtonListener implements ActionListener
        { 
            public void actionPerformed( ActionEvent ae )
            {

                aTextArea.append("===INVENTORY===\n");
                s.printInventory();
                aTextArea.append("===============\n");

            }
        }
        button[4].addActionListener( new ButtonListener() );
        rowwww.add( button[4] ); 
    }
    public static void main(String[] arguments) {
    ReliefFrame c = new ReliefFrame();
    }

  }

有很多方法可以完成这类工作,但是您需要通过确定您希望用户做什么来启动代码,从而决定将代码放置在何处。可以是一个按钮的选择,也可以是一个菜单选择。这是你需要决定的事情。假设您已经创建了一个JButton

制作另一个按钮并为按钮文本输入单词“Save”,然后确保它也有执行操作的侦听器,就像您对其他按钮所做的那样,然后将下面的代码放入其中。它应该看起来像:

public void actionPerformed( ActionEvent evt )
    try {
        // Be sure to supply the path and file name you want.
        PrintWriter printwriter = new PrintWriter("c:\\temp\\MyTextFile.txt");

        String[] lines = yourJTextArea.getText().split("\\n");
        for(int i = 0 ; i < lines.length; i++) {
            printwriter.println(lines[i]);
        }
        printwriter.close();
    } 
    catch (IOException e) {
        //Do something with caught exception.
    }
}
public void actionPerformed(ActionEvent evt)
试一试{
//请确保提供所需的路径和文件名。
PrintWriter PrintWriter=新的PrintWriter(“c:\\temp\\MyTextFile.txt”);
String[]line=yourJTextArea.getText().split(\\n”);
对于(int i=0;i
下面的问题我不太明白。你需要更详细地解释,但我想你想说的是:

你的问题:

如果一个方法有一个函数:System.out.println,我该如何放置 该方法将打印到Jtextarea

    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    import java.io.*;
    public class ReliefFrame extends JFrame
    {
    ......

    }

    private void createNorthPanel()
    {
        .....
    }
    private void createEastPanel()
    {
        .....
    }
    private void createWestPanel()
    {
        .....
    }
    private void createSouthPanel()
    {
        ......
    }

    private void createaTextField()
    {
        .....
    }
    private void createTextArea()
    {
        ......
    }   
    private void createCButton()
    {
        button[2] = new JButton( "Release Packs" );
        class ButtonListener implements ActionListener
        { 
            public void actionPerformed( ActionEvent ae )
            {
                String a = bTextField.getText();
                int b=Integer.parseInt(a);
                s.releasePacks(b);
                bTextField.setText( "" );           
            }
        }
        button[2].addActionListener( new ButtonListener() );
        rowwww.add( button[2] ); 
    }
    private void createEButton()
    {
        button[4] = new JButton( "Inventory Report" );
        class ButtonListener implements ActionListener
        { 
            public void actionPerformed( ActionEvent ae )
            {

                aTextArea.append("===INVENTORY===\n");
                s.printInventory();
                aTextArea.append("===============\n");

            }
        }
        button[4].addActionListener( new ButtonListener() );
        rowwww.add( button[4] ); 
    }
    public static void main(String[] arguments) {
    ReliefFrame c = new ReliefFrame();
    }

  }
我认为这意味着:

“嘿,我已经掌握了一种我想在网上使用的方法,但是我 难道我一辈子都不知道如何从中得到结果吗 方法放入我的JTextArea控件。现在该方法将 将方法结果发送到输出控制台(或窗格)。”

如果确实如此,那么可以替换System.out.println()方法与:

append(那个该死的方法结果字符串)

我希望这对您有所帮助。

使用
JTextArea
API提供的
write(…)
方法:

FileWriter writer = new FileWriter( ... );
BufferedWriter bw = new BufferedWriter( writer );
textArea.write( bw );
bw.close();

何时要将JTextArea的内容写入文件?当用户按下按钮时?每30秒?每次输入字符?每次输入字符