java 记事本保存文件 100
java记事本保存文件的问题我做了一个记事本老师说太简单让我实现定时保存的功能?请问怎么实现?有高手教我吗如果行得通了我把我所有积分都给他下面那段代码缺少了什么能给我发完...
java 记事本保存文件的问题
我做了一个记事本 老师说太简单
让我实现定时保存的功能?请问怎么实现?有高手教我吗
如果行得通了 我把我所有积分都给他
下面那段代码 缺少了什么 能给我发完整吗
你的只是把 系统的计算器 弄进去了
我的意思你们都没弄懂 我要的是 实现自动保存的功能
或者添加查找的功能进去 展开
我做了一个记事本 老师说太简单
让我实现定时保存的功能?请问怎么实现?有高手教我吗
如果行得通了 我把我所有积分都给他
下面那段代码 缺少了什么 能给我发完整吗
你的只是把 系统的计算器 弄进去了
我的意思你们都没弄懂 我要的是 实现自动保存的功能
或者添加查找的功能进去 展开
5个回答
展开全部
保存名字为 EditorDemo.txt
请尽管使用,不明白的地方,乐意交流
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
import javax.swing.text.*;
//简单的文本编辑器
public class EditorDemo extends JFrame {
JTextPane textPane = new JTextPane(); //文本窗格,编辑窗口
JLabel statusBar = new JLabel(); //状态栏
JFileChooser filechooser = new JFileChooser(); //文件选择器
public EditorDemo() { //构造函数
super("简单的文本编辑器"); //调用父类构造函数
Action[] actions = //Action数组,各种操作命令
{
new NewAction(),
new OpenAction(),
new SaveAction(),
new CutAction(),
new CopyAction(),
new PasteAction(),
new AboutAction(),
new ExitAction()};
setJMenuBar(createJMenuBar(actions)); //设置菜单栏
Container container = getContentPane(); //得到容器
container.add(createJToolBar(actions), BorderLayout.NORTH); //增加工具栏
container.add(textPane, BorderLayout.CENTER); //增加文本窗格
container.add(statusBar, BorderLayout.SOUTH); //增加状态栏
setSize(330, 200); //设置窗口尺寸
setVisible(true); //设置窗口可视
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序
}
private JMenuBar createJMenuBar(Action[] actions) { //创建菜单栏
JMenuBar menubar = new JMenuBar(); //实例化菜单栏
JMenu menuFile = new JMenu("文件"); //实例化菜单
JMenu menuEdit = new JMenu("编辑");
JMenu menuAbout = new JMenu("帮助");
menuFile.add(new JMenuItem(actions[0])); //增加新菜单项
menuFile.add(new JMenuItem(actions[1]));
menuFile.add(new JMenuItem(actions[2]));
menuFile.add(new JMenuItem(actions[7]));
menuEdit.add(new JMenuItem(actions[3]));
menuEdit.add(new JMenuItem(actions[4]));
menuEdit.add(new JMenuItem(actions[5]));
menuAbout.add(new JMenuItem(actions[6]));
menubar.add(menuFile); //增加菜单
menubar.add(menuEdit);
menubar.add(menuAbout);
return menubar; //返回菜单栏
}
private JToolBar createJToolBar(Action[] actions) { //创建工具条
JToolBar toolBar = new JToolBar(); //实例化工具条
for (int i = 0; i < actions.length; i++) {
JButton bt = new JButton(actions[i]); //实例化新的按钮
bt.setRequestFocusEnabled(false); //设置不需要焦点
toolBar.add(bt); //增加按钮到工具栏
}
return toolBar; //返回工具栏
}
class NewAction extends AbstractAction { //新建文件命令
public NewAction() {
super("新建");
}
public void actionPerformed(ActionEvent e) {
textPane.setDocument(new DefaultStyledDocument()); //清空文档
}
}
class OpenAction extends AbstractAction { //打开文件命令
public OpenAction() {
super("打开");
}
public void actionPerformed(ActionEvent e) {
int i = filechooser.showOpenDialog(EditorDemo.this); //显示打开文件对话框
if (i == JFileChooser.APPROVE_OPTION) { //点击对话框中打开选项
File f = filechooser.getSelectedFile(); //得到选择的文件
try {
InputStream is = new FileInputStream(f); //得到文件输入流
textPane.read(is, "d"); //读入文件到文本窗格
} catch (Exception ex) {
ex.printStackTrace(); //输出出错信息
}
}
}
}
class SaveAction extends AbstractAction { //保存命令
public SaveAction() {
super("保存");
}
public void actionPerformed(ActionEvent e) {
int i = filechooser.showSaveDialog(EditorDemo.this); //显示保存文件对话框
if (i == JFileChooser.APPROVE_OPTION) { //点击对话框中保存按钮
File f = filechooser.getSelectedFile(); //得到选择的文件
try {
FileOutputStream out = new FileOutputStream(f); //得到文件输出流
out.write(textPane.getText().getBytes()); //写出文件
} catch (Exception ex) {
ex.printStackTrace(); //输出出错信息
}
}
}
}
class ExitAction extends AbstractAction { //退出命令
public ExitAction() {
super("退出");
}
public void actionPerformed(ActionEvent e) {
System.exit(0); //退出程序
}
}
class CutAction extends AbstractAction { //剪切命令
public CutAction() {
super("剪切");
}
public void actionPerformed(ActionEvent e) {
textPane.cut(); //调用文本窗格的剪切命令
}
}
class CopyAction extends AbstractAction { //拷贝命令
public CopyAction() {
super("拷贝");
}
public void actionPerformed(ActionEvent e) {
textPane.copy(); //调用文本窗格的拷贝命令
}
}
class PasteAction extends AbstractAction { //粘贴命令
public PasteAction() {
super("粘贴");
}
public void actionPerformed(ActionEvent e) {
textPane.paste(); //调用文本窗格的粘贴命令
}
}
class AboutAction extends AbstractAction { //关于选项命令
public AboutAction() {
super("关于");
}
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(EditorDemo.this, "简单的文本编辑器演示"); //显示软件信息
}
}
public static void main(String[] args) {
new EditorDemo();
}
}
请尽管使用,不明白的地方,乐意交流
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
import javax.swing.text.*;
//简单的文本编辑器
public class EditorDemo extends JFrame {
JTextPane textPane = new JTextPane(); //文本窗格,编辑窗口
JLabel statusBar = new JLabel(); //状态栏
JFileChooser filechooser = new JFileChooser(); //文件选择器
public EditorDemo() { //构造函数
super("简单的文本编辑器"); //调用父类构造函数
Action[] actions = //Action数组,各种操作命令
{
new NewAction(),
new OpenAction(),
new SaveAction(),
new CutAction(),
new CopyAction(),
new PasteAction(),
new AboutAction(),
new ExitAction()};
setJMenuBar(createJMenuBar(actions)); //设置菜单栏
Container container = getContentPane(); //得到容器
container.add(createJToolBar(actions), BorderLayout.NORTH); //增加工具栏
container.add(textPane, BorderLayout.CENTER); //增加文本窗格
container.add(statusBar, BorderLayout.SOUTH); //增加状态栏
setSize(330, 200); //设置窗口尺寸
setVisible(true); //设置窗口可视
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序
}
private JMenuBar createJMenuBar(Action[] actions) { //创建菜单栏
JMenuBar menubar = new JMenuBar(); //实例化菜单栏
JMenu menuFile = new JMenu("文件"); //实例化菜单
JMenu menuEdit = new JMenu("编辑");
JMenu menuAbout = new JMenu("帮助");
menuFile.add(new JMenuItem(actions[0])); //增加新菜单项
menuFile.add(new JMenuItem(actions[1]));
menuFile.add(new JMenuItem(actions[2]));
menuFile.add(new JMenuItem(actions[7]));
menuEdit.add(new JMenuItem(actions[3]));
menuEdit.add(new JMenuItem(actions[4]));
menuEdit.add(new JMenuItem(actions[5]));
menuAbout.add(new JMenuItem(actions[6]));
menubar.add(menuFile); //增加菜单
menubar.add(menuEdit);
menubar.add(menuAbout);
return menubar; //返回菜单栏
}
private JToolBar createJToolBar(Action[] actions) { //创建工具条
JToolBar toolBar = new JToolBar(); //实例化工具条
for (int i = 0; i < actions.length; i++) {
JButton bt = new JButton(actions[i]); //实例化新的按钮
bt.setRequestFocusEnabled(false); //设置不需要焦点
toolBar.add(bt); //增加按钮到工具栏
}
return toolBar; //返回工具栏
}
class NewAction extends AbstractAction { //新建文件命令
public NewAction() {
super("新建");
}
public void actionPerformed(ActionEvent e) {
textPane.setDocument(new DefaultStyledDocument()); //清空文档
}
}
class OpenAction extends AbstractAction { //打开文件命令
public OpenAction() {
super("打开");
}
public void actionPerformed(ActionEvent e) {
int i = filechooser.showOpenDialog(EditorDemo.this); //显示打开文件对话框
if (i == JFileChooser.APPROVE_OPTION) { //点击对话框中打开选项
File f = filechooser.getSelectedFile(); //得到选择的文件
try {
InputStream is = new FileInputStream(f); //得到文件输入流
textPane.read(is, "d"); //读入文件到文本窗格
} catch (Exception ex) {
ex.printStackTrace(); //输出出错信息
}
}
}
}
class SaveAction extends AbstractAction { //保存命令
public SaveAction() {
super("保存");
}
public void actionPerformed(ActionEvent e) {
int i = filechooser.showSaveDialog(EditorDemo.this); //显示保存文件对话框
if (i == JFileChooser.APPROVE_OPTION) { //点击对话框中保存按钮
File f = filechooser.getSelectedFile(); //得到选择的文件
try {
FileOutputStream out = new FileOutputStream(f); //得到文件输出流
out.write(textPane.getText().getBytes()); //写出文件
} catch (Exception ex) {
ex.printStackTrace(); //输出出错信息
}
}
}
}
class ExitAction extends AbstractAction { //退出命令
public ExitAction() {
super("退出");
}
public void actionPerformed(ActionEvent e) {
System.exit(0); //退出程序
}
}
class CutAction extends AbstractAction { //剪切命令
public CutAction() {
super("剪切");
}
public void actionPerformed(ActionEvent e) {
textPane.cut(); //调用文本窗格的剪切命令
}
}
class CopyAction extends AbstractAction { //拷贝命令
public CopyAction() {
super("拷贝");
}
public void actionPerformed(ActionEvent e) {
textPane.copy(); //调用文本窗格的拷贝命令
}
}
class PasteAction extends AbstractAction { //粘贴命令
public PasteAction() {
super("粘贴");
}
public void actionPerformed(ActionEvent e) {
textPane.paste(); //调用文本窗格的粘贴命令
}
}
class AboutAction extends AbstractAction { //关于选项命令
public AboutAction() {
super("关于");
}
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(EditorDemo.this, "简单的文本编辑器演示"); //显示软件信息
}
}
public static void main(String[] args) {
new EditorDemo();
}
}
展开全部
可以直接通过流的形式进行存储,常用的是“OutputStreamWriter”,举例:
OutputStreamWriter pw = null;//定义一个流
pw = new OutputStreamWriter(new FileOutputStream(“D:/test.txt”),"GBK");//确认流的输出文件和编码格式
pw.write("我是要写入到记事本文件的内容");//将要写入文件的内容,可以多次write
pw.close();//关闭流
备注:文件流用完之后必须及时通过close方法关闭,否则会一直处于打开状态,直至程序停止,增加系统负担。
OutputStreamWriter pw = null;//定义一个流
pw = new OutputStreamWriter(new FileOutputStream(“D:/test.txt”),"GBK");//确认流的输出文件和编码格式
pw.write("我是要写入到记事本文件的内容");//将要写入文件的内容,可以多次write
pw.close();//关闭流
备注:文件流用完之后必须及时通过close方法关闭,否则会一直处于打开状态,直至程序停止,增加系统负担。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你得保存为"***.java",要加引号。不然还会是记事本格式***.java.txt。
还有编译路径的正确。一般是配好环境变量后,把你文件的路径设为dos窗口的路径然后编译。
直接在jdk目录下编译。
编码问题,你把这个文件复制出来,再用记事本打开,再用Eclipse重新建一个文件,把这里边的东西拷过去,保存就可以了
可能是文件扩展名错误,你把那个文件copy一下再保存,文件类型选择所有类型,扩展名为.java
还有编译路径的正确。一般是配好环境变量后,把你文件的路径设为dos窗口的路径然后编译。
直接在jdk目录下编译。
编码问题,你把这个文件复制出来,再用记事本打开,再用Eclipse重新建一个文件,把这里边的东西拷过去,保存就可以了
可能是文件扩展名错误,你把那个文件copy一下再保存,文件类型选择所有类型,扩展名为.java
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
要用线程。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import java.lang.*;
import java.awt.datatransfer.*;
public class yangweitao extends Frame implements ActionListener,MouseListener{
FileDialog fileDlg;
String str,fileName;
byte byteBuf[]=new byte[10000];
Toolkit toolKit=Toolkit.getDefaultToolkit();
Clipboard clipBoard=toolKit.getSystemClipboard();
TextArea ta=new TextArea();
PopupMenu pm=new PopupMenu();
MenuBar mb=new MenuBar();
Menu m1=new Menu("文件");
Menu m2=new Menu("编辑");
Menu m3=new Menu("工具");
MenuItem cut2=new MenuItem("剪切");
MenuItem copy2=new MenuItem("复制");
MenuItem paste2=new MenuItem("粘贴");
MenuItem cut=new MenuItem("剪切");
MenuItem copy=new MenuItem("复制");
MenuItem paste=new MenuItem("粘贴");
MenuItem computer=new MenuItem("计算器");
MenuItem open=new MenuItem("打开");
MenuItem close=new MenuItem("关闭");
MenuItem save=new MenuItem("保存");
MenuItem exit=new MenuItem("推出");
yangweitao(){
setTitle("简易文件编辑器");
setSize(400,280);
add("Center",ta);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
m1.add(open);
m1.add(close);
m1.add(save);
m1.addSeparator();
m1.add(exit);
m2.add(cut);
m2.add(paste);
m2.add(copy);
m3.add(computer);
open.addActionListener(this);
close.addActionListener(this);
save.addActionListener(this);
exit.addActionListener(this);
cut.addActionListener(this);
copy.addActionListener(this);
paste.addActionListener(this);
cut2.addActionListener(this);
copy2.addActionListener(this);
paste2.addActionListener(this);
computer.addActionListener(this);
mb.add(m1);
mb.add(m2);
mb.add(m3);
pm.add(cut2);
pm.add(paste2);
pm.add(copy2);
ta.add(pm);
this.setMenuBar(mb);
ta.addMouseListener(this);
show();
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==exit)
System.exit(0);
else if(e.getSource()==close)
ta.setText(null);
else if(e.getSource()==open){
fileDlg=new FileDialog(this,"打开文件");
fileDlg.show();
fileName=fileDlg.getFile();
try{
FileInputStream in=new FileInputStream(fileName);
in.read(byteBuf);
in.close();
str=new String(byteBuf);
ta.setText(str);
setTitle("adsad"+fileName);
}catch(IOException ioe){}
}
else if(e.getSource()==save){
fileDlg=new FileDialog(this,"保存文件",FileDialog.SAVE);
fileDlg.show();
fileName=fileDlg.getFile();
str=ta.getText();
byteBuf=str.getBytes();
try{
FileOutputStream out=new FileOutputStream(fileName);
out.write(byteBuf);
out.close();
}catch(IOException ioe){}
}
else if(e.getActionCommand()=="剪切"){
String text=ta.getSelectedText();
StringSelection selection=new StringSelection(text);
clipBoard.setContents(selection,null);
ta.replaceRange("",ta.getSelectionStart(),ta.getSelectionEnd());
}
else if(e.getActionCommand()=="复制")
{String text=ta.getSelectedText();
StringSelection selection=new StringSelection(text);
clipBoard.setContents(selection,null);
}
else if(e.getActionCommand()=="粘贴")
{Transferable contents=clipBoard.getContents(this);
if(contents==null) return;
String text;
text="";
try{
text=(String)contents.getTransferData(DataFlavor.stringFlavor);
}catch(Exception exception){
}
ta.replaceRange(text,ta.getSelectionStart(),ta.getSelectionEnd());
}
else if(e.getActionCommand()=="计算器") {
Runtime r= Runtime.getRuntime();
try {
r.exec("calc");
} catch (IOException e1) {}
}
}
public void mouseReleased(MouseEvent e){
if(e.isPopupTrigger())
pm.show(this,e.getX(),e.getX());
}
public void mouseClicked(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mousePressed(MouseEvent e){}
public static void main(String args[]){
new yangweitao();
}
}
这代码我运行了 没错 你再试下
import java.awt.*;
import java.awt.event.*;
import java.lang.*;
import java.awt.datatransfer.*;
public class yangweitao extends Frame implements ActionListener,MouseListener{
FileDialog fileDlg;
String str,fileName;
byte byteBuf[]=new byte[10000];
Toolkit toolKit=Toolkit.getDefaultToolkit();
Clipboard clipBoard=toolKit.getSystemClipboard();
TextArea ta=new TextArea();
PopupMenu pm=new PopupMenu();
MenuBar mb=new MenuBar();
Menu m1=new Menu("文件");
Menu m2=new Menu("编辑");
Menu m3=new Menu("工具");
MenuItem cut2=new MenuItem("剪切");
MenuItem copy2=new MenuItem("复制");
MenuItem paste2=new MenuItem("粘贴");
MenuItem cut=new MenuItem("剪切");
MenuItem copy=new MenuItem("复制");
MenuItem paste=new MenuItem("粘贴");
MenuItem computer=new MenuItem("计算器");
MenuItem open=new MenuItem("打开");
MenuItem close=new MenuItem("关闭");
MenuItem save=new MenuItem("保存");
MenuItem exit=new MenuItem("推出");
yangweitao(){
setTitle("简易文件编辑器");
setSize(400,280);
add("Center",ta);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
m1.add(open);
m1.add(close);
m1.add(save);
m1.addSeparator();
m1.add(exit);
m2.add(cut);
m2.add(paste);
m2.add(copy);
m3.add(computer);
open.addActionListener(this);
close.addActionListener(this);
save.addActionListener(this);
exit.addActionListener(this);
cut.addActionListener(this);
copy.addActionListener(this);
paste.addActionListener(this);
cut2.addActionListener(this);
copy2.addActionListener(this);
paste2.addActionListener(this);
computer.addActionListener(this);
mb.add(m1);
mb.add(m2);
mb.add(m3);
pm.add(cut2);
pm.add(paste2);
pm.add(copy2);
ta.add(pm);
this.setMenuBar(mb);
ta.addMouseListener(this);
show();
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==exit)
System.exit(0);
else if(e.getSource()==close)
ta.setText(null);
else if(e.getSource()==open){
fileDlg=new FileDialog(this,"打开文件");
fileDlg.show();
fileName=fileDlg.getFile();
try{
FileInputStream in=new FileInputStream(fileName);
in.read(byteBuf);
in.close();
str=new String(byteBuf);
ta.setText(str);
setTitle("adsad"+fileName);
}catch(IOException ioe){}
}
else if(e.getSource()==save){
fileDlg=new FileDialog(this,"保存文件",FileDialog.SAVE);
fileDlg.show();
fileName=fileDlg.getFile();
str=ta.getText();
byteBuf=str.getBytes();
try{
FileOutputStream out=new FileOutputStream(fileName);
out.write(byteBuf);
out.close();
}catch(IOException ioe){}
}
else if(e.getActionCommand()=="剪切"){
String text=ta.getSelectedText();
StringSelection selection=new StringSelection(text);
clipBoard.setContents(selection,null);
ta.replaceRange("",ta.getSelectionStart(),ta.getSelectionEnd());
}
else if(e.getActionCommand()=="复制")
{String text=ta.getSelectedText();
StringSelection selection=new StringSelection(text);
clipBoard.setContents(selection,null);
}
else if(e.getActionCommand()=="粘贴")
{Transferable contents=clipBoard.getContents(this);
if(contents==null) return;
String text;
text="";
try{
text=(String)contents.getTransferData(DataFlavor.stringFlavor);
}catch(Exception exception){
}
ta.replaceRange(text,ta.getSelectionStart(),ta.getSelectionEnd());
}
else if(e.getActionCommand()=="计算器") {
Runtime r= Runtime.getRuntime();
try {
r.exec("calc");
} catch (IOException e1) {}
}
}
public void mouseReleased(MouseEvent e){
if(e.isPopupTrigger())
pm.show(this,e.getX(),e.getX());
}
public void mouseClicked(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mousePressed(MouseEvent e){}
public static void main(String args[]){
new yangweitao();
}
}
这代码我运行了 没错 你再试下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |