数据输出流不起作用

高拉夫·凯拉(GAURAV KHERA)
import java.io.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;
import java.util.*;

public class two extends JFrame implements ActionListener
{


JLabel l1,l2;
    JTextArea a1,a2;
    JButton b1;
    JMenuBar bar;
    JMenu menu;
    JMenuItem m1,m2;
    JPanel p;
    ArrayList<String> a;
    DataOutputStream d1;

//程序的gui部分

public void go()
{
    p=new JPanel();
    bar=new JMenuBar();
    menu=new JMenu("File");
    m1=new JMenuItem("Save");
    m1.addActionListener(this);
    m2=new JMenuItem("New");
    menu.add(m1);
    menu.add(m2);


Font f=new Font("Arial",Font.BOLD,16);
l1=new JLabel("Question ");
l1.setAlignmentX(CENTER_ALIGNMENT);
l1.setFont(f);
l2=new JLabel("Answer");
l2.setFont(f);
l2.setAlignmentX(RIGHT_ALIGNMENT);
a1=new JTextArea(10,50);
JScrollPane a4 = new JScrollPane(a1);
a4.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
a4.setMaximumSize(new Dimension(600,220));
a4.setAlignmentX(CENTER_ALIGNMENT);
a2=new JTextArea(10,50);
JScrollPane a3 = new JScrollPane(a2);
a3.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
a3.setMaximumSize(new Dimension(600,220));
a3.setAlignmentX(CENTER_ALIGNMENT);
b1=new JButton("Next Card");
b1.setAlignmentX(LEFT_ALIGNMENT);
b1.addActionListener(this);

bar.add(menu);
setJMenuBar(bar);
BoxLayout g=new BoxLayout(p,BoxLayout.Y_AXIS);
p.setLayout(g);
p.add(l1);
p.add(Box.createRigidArea(new Dimension(15,15)));
p.add(a4);
p.add(Box.createRigidArea(new Dimension(15,15)));
p.add(l2);
p.add(Box.createRigidArea(new Dimension(15,15)));
p.add(a3);
p.add(Box.createRigidArea(new Dimension(25,25)));
p.add(b1);
getContentPane().add(p);
setVisible(true);
setSize(500,600);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    }

public static void main(String[] args) {
    two obj=new two();
    obj.go();
}


public void actionPerformed(ActionEvent e)
{
 a=new ArrayList<String>();

//将文本区域内容保存到列表数组的部分

 if(e.getSource()==b1)
{
String l=new String(a1.getText()+"/");
String w=new String (a2.getText()+"\n");
a.add(l);
a.add(w);

//将值添加到arraylist中,如a.size()的值所示

System.out.println(a.size());
a1.setText("");
a2.setText("");

}

//使用filechooser将listarray保存到文件的方法

if(e.getSource()==m1){

JFileChooser fileSave = new JFileChooser();
int retrival=fileSave.showSaveDialog(this);
File d=fileSave.getSelectedFile();

if (retrival == JFileChooser.APPROVE_OPTION) {

        try{
        System.out.println(d);

//这部分没有被调用

        d1=new DataOutputStream(new FileOutputStream(d+".txt");

        for(String o:a)
        {
        d1.writeChars(o);
     System.out.println("\nIS SUCCESFULLY WRITTEN INTO FILE!");
    }
        d1.close();


    }catch(Exception ex){System.out.println(ex);}
}
}

}
}
雷米乌斯

DataOutputStream 正在按预期工作。

ArrayList不会创建任何新文件,而是会在调用新文件a替换前一个实例actionPerformed

a = new ArrayList<String>();

清除任何先前数据的内容,因此不会将任何内容写入文件。将此语句移至构造函数,以便ArrayList仅初始化一次。使用clear清除List

除了:JTextArea有权使用write方法,该方法允许将其内容直接写入文件

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

到文件的 C++ 输出流不起作用

来自分类Dev

Azure 流分析:SQL 输出不起作用

来自分类Dev

火花流不起作用

来自分类Dev

使用setOutputStream将JSch exec通道的输出流重定向到文件不起作用

来自分类Dev

将ProcessBuilder与输入和输出流一起使用的Java程序不起作用

来自分类Dev

将ProcessBuilder与输入和输出流一起使用的Java程序不起作用

来自分类Dev

android实时视频流不起作用

来自分类Dev

HTML 5 Shoutcast流不起作用

来自分类Dev

自动刷新TCP流不起作用

来自分类Dev

WebRTC远程视频流不起作用

来自分类Dev

减少对象流对我不起作用

来自分类Dev

Java流排序不起作用

来自分类Dev

Python流控件不起作用

来自分类Dev

WebRTC远程视频流不起作用

来自分类Dev

nginx HLS 流不起作用

来自分类Dev

Azure 流分析 GetMetadataPropertyValue 不起作用

来自分类Dev

数据绑定不起作用?

来自分类Dev

数据替换不起作用

来自分类Dev

为什么AssignerWithPunctuatedWatermarks在我的数据流中不起作用?

来自分类Dev

结构不起作用,得到垃圾输出

来自分类Dev

分段的HTML输出不起作用

来自分类Dev

输出停止并且调试不起作用

来自分类Dev

crontab中的输出日志不起作用

来自分类Dev

排序ps的输出不起作用

来自分类Dev

iptables输出DNAT不起作用

来自分类Dev

TCP输出/输入不起作用

来自分类Dev

Cronjob输出不起作用

来自分类Dev

JsonArray输出不起作用

来自分类Dev

Angular 2 输出绑定不起作用