编写任意内容到记事本怎么做

编写任意内容到记事本怎么做,第1张

以在联想小新PAD PRO115英寸电脑、WIN10专业版 *** 作系统为例,可以现在电脑中将记事本程序打开。然后在打开的该记事本中输入需要的内容并进行保存即可。具体的 *** 作方法如下:

1、点击电脑任务栏的搜索按钮,输入记事本进行搜索。

2、搜索以后找到记事本程序,点击进入。

3、页面跳转以后进入到记事本界面,输入需要的内容。

4、输入完成以后点击文件,选择保存按钮。

5、在出现的对话框中选择存储位置并输入文件名称,点击保存按钮。

6、此时即可看到已经在记事本中输入了需要的内容并保存好了。

代码如下:

import javaio;

import javaawt;

import javaawtevent;

public class jtxtfm{

public static void main(String args[]){

jtxtfrm fm=new jtxtfrm();

}

}

class jtxtfrm extends Frame implements ActionListener{

FileDialog op,sv;

Button btn1,btn2,btn3;

TextArea tarea;

jtxtfrm(){

super("读写文件");

setLayout(null);

setBackground(Colorcyan);

setSize(600,300);

setVisible(true);

btn1=new Button("打开");

btn2=new Button("保存");

btn3=new Button("关闭");

tarea=new TextArea("");

add(btn1);add(btn2);add(btn3);add(tarea);

tareasetBounds(30,50,460,220);

btn1setBounds(520,60,50,30);

btn2setBounds(520,120,50,30);

btn3setBounds(520,180,50,30);

op=new FileDialog(this,"打开",FileDialogLOAD);

sv=new FileDialog(this,"保存",FileDialogSAVE);

btn1addActionListener(this);

btn2addActionListener(this);

btn3addActionListener(this);

    addWindowListener(

     new WindowAdapter(){

      public void windowClosing(WindowEvent e){

       setVisible(false);

       Systemexit(0);

      }

     }    

    );

}

public void actionPerformed(ActionEvent e){

if(egetSource()==btn1){

String str;

opsetVisible(true);

try{

File f1=new File(opgetDirectory(),opgetFile());

FileReader fr=new FileReader(f1);

BufferedReader br=new BufferedReader(fr);

tareasetText("");

while((str=brreadLine())!=null)tareaappend(str+'\n');

frclose();

}

catch(Exception e1)

{}

}

if(egetSource()==btn2){

svsetVisible(true);

try{

File f1=new File(svgetDirectory(),svgetFile());

FileWriter fw=new FileWriter(f1);

BufferedWriter bw=new BufferedWriter(fw);

String gt=tareagetText();

bwwrite(gt,0,gtlength());

bwflush();

fwclose();

}

catch ( Exception e2)

{}

}

if(egetSource()==btn3){

Systemexit(0);

}

}

}

效果图:

#include <iostream>

#include <fstream>

using namespace std;

int main(){

ofstream ofile;

ifstream ifile;

string t1, t2;

ifileopen("C:\\Text1txt");

ifile >> t1;

ifileclose();

cout << endl

<< "The file Text1txt contains the following sentence: "

<< t1

<< endl;

cout << endl

<< "Please enter another sentence to be saved on Text2txt: ";

cin >> t2;

ofileopen("C:\\Text2txt");

ofile << t2;

ofileclose();

t1+=" "+t2;

cout << endl

<< "The merged sentence is: "

<< t1

<< endl;

ofileopen("C:\\Text3txt");

ofile << t1;

ofileclose();

cout << endl;

}

#include<stdioh>

#include<malloch>

#include<stringh>

#include<stdlibh>

#include<ctypeh>

#define NULL 0

#define MAX 100

typedef struct lnode{

char date[MAX]; //存放数据

struct lnode prior ; //前驱

struct lnode next ; //后继

int number ; //记录一个节点的字符数!如果是头节点就记录他的节点个数

int quese ; //记录节点在链表中的位置

}lnodetype;

lnodetype l ; //设置两个全局变量,分别是头节点指针和尾节点指针

lnodetype end ;

//这个函数是用来初始化的//

int iniatelist (lnodetype l , lnodetype end)

{

(l) = (lnodetype )malloc (sizeof (lnodetype) ) ;

if ( (l) == NULL )

{

printf ("没有只够的内存空间!程序即将退出!");

return 0 ;

}

(l)->prior =(l)->next = NULL ; //这是双链表

(l)->number = (l)->quese = 0;

(end) = (l) ;

printf ("程序初始化完毕!");

return 0;

}

//这个函数是用来建立节点,并且插入元素的//

int link(lnodetype l, lnodetype end)

{

lnodetype s ;

s = (lnodetype )malloc ( sizeof (lnodetype) ) ;

if ( s == NULL ){

printf ("内存空间不够,程序即将退出!") ;

return 0 ;

}

(end)->next = s ;

s->prior = (end) ;

(end) = (end)->next ;

(l)->number++ ; //增加一个节点,头节点的number就加1

s->quese = (l)->number ; //这个是记录节点在链表中的位置

printf ("%d行", s->quese ) ; //这个是节点在整个链表中的位置

gets(s->date) ;

s -> number = strlen(s->date) ;

return 0 ;

}

//这个是打印链表的函数//

int prin (lnodetype l, lnodetype end)

{

lnodetype p ;

int i ;

int j = 0;

int couter = (l)->number ;

p = (l)->next ;

for (i=0; i < couter; i++){

printf ( "%d行" , i+1 ) ;

j = 0;

while ( ( p->date[j]>='a' && p->date[j]<='z') ||

(p->date[j]>='A' && p->date[j]<='z') ||

p->date[j]>='0' && p->date[j]<='9')

{

printf ( "%c" , p->date[j] ) ;

j++ ;

}

printf ("n") ;

p = p->next ;

}

return 0 ;

}

//这个查找和编辑相应行的函数//

int search (lnodetype l, lnodetype end )

{

int number ;

scanf ("%d" , &number) ;

int i ;

lnodetype p ;

p = (l)->next ;

for ( i=0; i<number-1; i++ )

p = p->next ;

printf ("%d行" , number ) ;

gets (p->date) ;

return 0 ;

}

//这个是在文本文件里搜索字符串的函数//

int searchstr(lnodetype l , lnodetype end)

{

char ptr[100] ;

int arrycouter ;

int mystrcmp( char , char , int ) ;

printf ( "ok!现在输入你查找的字符串!" ) ;

scanf ( "%s" , ptr ) ;

arrycouter = strlen (ptr) ;

lnodetype s ;

s = (l)->next ;

char p ;

int i = 1 ;

int couter = 0 ;

int number = (l)->number ;

p = (char )s->date ;

while ( i && number ){

// i=1是,证明没有找到,向第二个节点继续寻找

while ( i && ( ( (p >= 'a') && (p <= 'z') ) || ( (p >= 'A') && (p <= 'Z') ) ) ){

i = mystrcmp ( p , ptr , arrycouter );

if ( i == 1 ){

printf ("字符串已经在第%d行,第%d个字符开始,",s->quese, couter+1 );

i = 0 ;

}

else

{

p++ ;

couter++;

i = 1 ;

}

}

s = s->next ;

p = (char )s->date ;

number -- ;

}

if ( i == 1 )

printf ("字符串在本文档中不存在!");

return 0 ;

}

//(1)这个函数是用来实现退出不保存功能的//

int exitunsave(lnodetype l, lnodetype end)

{

lnodetype s ;

while( (l) != (end) ){ //如果不保存的话,最好是把节点的空间都释放,节省空间

s = (end) ;

(end) = (end)->prior ;

free( s ) ;

}

return 0 ;

}

//(2)这个函数是用来实现退出但保存功能的//

int quitandsave( lnodetype l , lnodetype end )

{

FILE fp ;

char ch ;

char filename[20] ;

lnodetype p;

int i ;

int j ;

int couter = (l)->number ;

p = (l)->next ;

printf ("请输入文件名:") ;

scanf ("%s" , filename ) ;

if ( (fp = fopen( filename , "w" )) == NULL ){

printf ("文件不能打开!n");

return 0 ;

}

for ( i=0; i<couter; i++ ){ //有几个节点就进行多少次的存贮

ch = p->date[0] ;

j = 1 ;

while (ch != '\0'){

fputc (ch , fp) ;

ch = p->date[j] ;

j++ ;

}

p = p->next ;

fputc ( '#' , fp ) ; //注意在每个节点的后面加上结束的符号

}

fputc ( '@' , fp ) ; //整个文件关闭的标志

fclose ( fp ) ; //注意关闭文件,

return 0 ;

}

//由于库函数比较字符串提供的功能不满足要求,故自己写了一个/

int mystrcmp( char p ,char sour ,int number )

{

while ( number && (p) == (sour) &&

( ( (p >= 'a') && (p <= 'z') ) || ( (p >= 'A') && (p <= 'Z') ) )){

p++ ;

sour++ ;

number-- ;

}

if ( number == 0 )

return 1 ;

else

return 0 ;

}

//这个函数是用来实现统计字符串功能的//

int coutword(lnodetype l , lnodetype end)

{ //考虑到只统计一行的单词没有意义,故统计整个文本

int yes = 1 ; //这个是进入单词的标志

int no = 0 ; //在单词外面的时候的标志

int i , j ,inaword ,count = 0 ;

inaword = no ;

lnodetype s = (l)->next ;

for (j=0; j<(l)->number; j++){

for ( i=0; (s->date[i]>='a' && s->date[i]<='z') ||

(s->date[i]>='A' && s->date[i]<='z') ||

(s->date[i]>='0' && s->date[i]<='9' ) ||

(s->date[i]==' '); i++ )

{

if ( s->date[i] == ' ' )

inaword = no ;

else

if ( inaword == no )

{

inaword = yes ;

count++ ; //计算单词

}

}

s = s->next ;

inaword = 0 ; //注意这里,把标志置为0了!

}

printf ( "n文本一共有 %d 行" , (l)->number ) ;

printf ("n此文本一共有 %d 个单词!" , count ) ;

return count ;

}

//这个函数是用来实现计算文本行数功能的//

int linecouter(lnodetype l , lnodetype end )

{

int couter ;

couter = (l)->number ;

return couter ;

}

//这个函数是整和一上所有功能的菜单函数//

int editmenu(lnodetype l , lnodetype end )

{

char choice ;

char p = "cls" ;

int i = 1 ; //这两个变量是用来控制循环的

int j= 1 ;

system (p) ;

prin (&(l) , &(end)) ;

while (j){

printf (" e: 编辑相应行 n") ;

printf (" s: 搜索字符串 n") ;

printf (" t: 统计单词个数 n") ;

printf (" q: 退出编辑 n") ;

scanf("%c",&choice);

scanf("%c" , &choice) ; //????莫名其妙的问题,非要两个请求输入语句才肯停下来!

switch (choice)

{

case 'e' : {

i = 1 ;

while (i)

{

search( &(l) , &(end) );

system (p) ;

prin( &(l) , &(end) ) ;

printf ("n1 继续编辑 0 结束编辑n") ;

scanf ("%d" , &i) ;

}

}

break;

case 's' : {

i = 1 ;

while (i)

{

searchstr( &(l) , &(end) );

getchar();

getchar();

system (p) ;

prin( &(l) , &(end) ) ;

printf ("n1 继续搜索 0 结束搜索n") ;

scanf ("%d" , &i) ;

}

}

break;

case 't' : {

coutword ( &(l) , &(end) ) ;

getchar() ;

}break;

default : return 0 ;

}

system (p) ;

prin( &(l) , &(end) ) ;

printf ("n1 回到编辑菜单 0 结束编辑n") ;

scanf ("%d" , &j) ;

if (j == 1)

system (p) ;

else

return 0 ;

}

return 0 ;

}

//实现第一个模块:新建空白文档//

int newtext( lnodetype l ,lnodetype end )

{

printf ( "新文本文件:n" ) ;

int i = 1 ;

char judstr[MAX] ;

lnodetype temp ;

char jud ;

char p = "cls" ;

while ( 1 ){

link( &(l) , &(end) ) ;

jud = (end)->date[0] ;

if ( jud == '5' ){ //输入‘5’结束一切

temp = (end) ;

(end) = (end)->prior ;

free (temp) ;

while (1){

printf ( " out :退出不保存 n") ;

printf ( " edit :编辑信息 n") ;

printf ( " quit :退出而不存盘 n") ;

printf ( " qas :退出且存盘 n") ;

printf ( " con :继续输入! n") ;

gets(judstr) ;

if ( !strcmp(judstr , "out") )

{

exitunsave( &(l) , &(end) ) ;

return 0 ;

}

else

if ( !strcmp(judstr , "qas") )

{

quitandsave( &(l) , &(end) ) ;

return 0 ;

}

else

if ( !strcmp(judstr , "edit") )

{

editmenu (l , end) ;

return 0;

}

system (p) ;

}

return 0 ;

}

}

return 0 ;

}

//这个是装入文件的函数//

int loadtaxt( char filename )

{

FILE fp ;

lnodetype l ;

char ch ;

int i = 0 ;

char p = "cls" ;

char judstr[MAX] ;

lnodetype head ;

lnodetype end ;

iniatelist ( &head , &end) ;

l = end = head ;

if ( (fp = fopen( filename, "r+")) == NULL ){

printf ("文件不能打开!n") ;

return 0 ;

}

ch = fgetc ( fp ) ;

while ( ch != '@' ){

lnodetype s ;

s = (lnodetype )malloc ( sizeof (lnodetype) ) ;

if ( s == NULL ){

printf ("内存空间不够,程序即将退出!") ;

return 0 ;

}

end->next = s ;

s->prior = end ;

end = end->next ;

l->number++ ;

s->quese = l->number ;

printf ("%d行", s->quese ) ;

while ( ch != '#'){

s->date[i] = ch ;

ch = fgetc (fp) ;

i++ ;

}

i = 0;

while ( (end->date[i]>='a' && end->date[i]<='z') ||

(end->date[i]>='A' && end->date[i]<='z') ||

(end->date[i]>='0' && end->date[i]<='9' ) ||

(end->date[i]==' ') )

{

printf ( "%c" , end->date[i] ) ;

i++ ;

}

end->date[i] = '\0' ; //注意在节点的最好加上这个,以让退出保存功能函数知道此节点已结束

printf ( "n" ) ;

i = 0;

ch = fgetc ( fp ) ;

}

fclose (fp) ;

printf ("n文件成功装入!n") ;

while (1){

printf ( " out :退出不保存 n") ;

printf ( " edit :编辑信息 n") ;

printf ( " qas :退出且存盘 n") ;

printf ( " con :继续输入! n") ;

scanf("%s",judstr);

if ( !strcmp(judstr , "out") )

{

exitunsave( &l , &end ) ;

return 0 ;

}

else

if ( !strcmp(judstr , "qas") )

{

quitandsave( &l , &end ) ;

return 0 ;

}

else

if ( !strcmp(judstr , "edit") )

{

editmenu (&l , &end) ;

return 0 ;

}

system (p) ;

}

return 0 ;

}

//主函数//

void main ( void )

{

//iniatelist (&l , &end) ;

//newtext(&l , &end) ;

char filename[MAX] ;

scanf ( "%s" , filename ) ;

loadtaxt( filename ) ;

}

很不容易做的程序!!!

通过编译

是记事本的样式吗?就要这些要求吗?

下面这些代码的功能挺全的,可以参考一下,不用的可以删掉。

import javaio;

import javautilCalendar;

import javaawt;

import javaawtevent;

import javaxswing;

import javaxswingevent;

public class NoteBook extends JFrame implements ActionListener,ItemListener,WindowListener,MouseListener

{ Container c = thisgetContentPane();

JMenuBar jmb = new JMenuBar();

JColorChooser jcl = new JColorChooser();

JToolBar jToolBar = new JToolBar();

JButton jButton1 = new JButton();

JButton jButton2 = new JButton();

JButton jButton3 = new JButton();

JButton jButton4 = new JButton();

JMenu jm1 = new JMenu("文件(F)");

JMenu jm2 = new JMenu("编辑(E)");

JMenu jm4 = new JMenu("格式(O)");

JMenu jm5 = new JMenu("查看(V)");

JMenu jm3 = new JMenu("帮助(H)");

JMenuItem jmi1 = new JMenuItem("新建(N)");

JMenuItem jmi2 = new JMenuItem("打开(O)");

JMenuItem jmi3 = new JMenuItem("保存(S)");

JMenuItem jmi4 = new JMenuItem("退出(X)");

JMenu jmd4=new JMenu("颜色");

JMenu jmd0=new JMenu("字体");

JMenuItem aa=new JMenuItem("复制(C)");

JMenuItem bb=new JMenuItem("剪切(X)");

JMenuItem cc=new JMenuItem("粘贴(V)");

JCheckBoxMenuItem jcuti1 = new JCheckBoxMenuItem("粗体");

JCheckBoxMenuItem jxieti1 = new JCheckBoxMenuItem("斜体");

JMenuItem jmp1 = new JMenuItem("日期和时间");

JMenuItem jmp2 = new JMenuItem("背景颜色(H)");

JMenuItem jmi5 = new JMenuItem("删除内容(S)");

JMenuItem jmi7=new JMenuItem("关于自己");

JTextArea jta = new JTextArea(23,15);

JScrollPane jsp = new JScrollPane(jta);

JMenuItem jmdb1=new JMenuItem("**");//定义各种颜色

JMenuItem jmdb2=new JMenuItem("红色");

JMenuItem jmdb3=new JMenuItem("绿色");

JMenuItem jmdb4=new JMenuItem("蓝色");

JMenuItem jmdb5=new JMenuItem("黑色");

NoteBook()

{ thisaddWindowListener(this);

setBounds(200,200,200,200);

cadd(jmb,BorderLayoutNORTH);

validate();

setDefaultCloseOperation(JFrameEXIT_ON_CLOSE);

thissetResizable(false);

thissetTitle("记事本");

jmbadd(jm1);//文件

jm1setMnemonic('f');

jm1addActionListener(this);

jmbadd(jm2);//编辑

jm2setMnemonic('e');

jmbadd(jm4);//格式

jm4setMnemonic('o');

jm4addActionListener(this);

jmbadd(jm5);

jm5setMnemonic('v'); //查看

jmbadd(jm3);//帮助

jm3setMnemonic('h');

jmbsetLocation(0,0);

jm1add(jmi1);

jmi1addActionListener(this);//新建

jmi1setAccelerator(KeyStrokegetKeyStroke('N',EventCTRL_MASK,false));

jm1addSeparator();

jm1add(jmi2);

jmi2setAccelerator(KeyStrokegetKeyStroke('O',EventCTRL_MASK,false));

jmi2addActionListener(this);//打开

jm1addSeparator();

jm1add(jmi3);

jmi3setAccelerator(KeyStrokegetKeyStroke('S',EventCTRL_MASK,false));

jmi3addActionListener(this);//保存

jm1addSeparator();

jm1add(jmi4);

jmi1setMnemonic('n');

jmi2setMnemonic('o');

jmi3setMnemonic('s');

jmi4setMnemonic('x');

jmi4addActionListener(this);//退出

jm5add(jmi5); //删除

jm5addSeparator();

jmi5addActionListener(this);

jm4addSeparator();

jm4add(jmd4);

jm4add(jmd0);

jmd4add(jmdb1);

jmd4add(jmdb2);

jmd4add(jmdb3);

jmd4add(jmdb4);

jmd4add(jmdb5);

jmd4addActionListener(this); //添加监视器

jmdb1addActionListener(this);

jmdb2addActionListener(this);

jmdb3addActionListener(this);

jmdb4addActionListener(this);

jmdb5addActionListener(this);

jm5add(jmp1);

jm5addSeparator();

jm5add(jmp2);

jmp1addActionListener(this);//日期时间

jmp2addActionListener(this);//背景颜色

jm2add(aa);

jm2addSeparator();

jm2add(bb);

jm2addSeparator();

jm2add(cc);

jm2addSeparator();

jmd0add(jcuti1);

jmd0addSeparator();

jmd0add(jxieti1);

aasetMnemonic('C');

aasetAccelerator(KeyStrokegetKeyStroke(KeyEventVK_C,InputEventCTRL_MASK));

bbsetMnemonic('x');

bbsetAccelerator(KeyStrokegetKeyStroke(KeyEventVK_X,InputEventCTRL_MASK));

ccsetMnemonic('V');

ccsetAccelerator(KeyStrokegetKeyStroke(KeyEventVK_V,InputEventCTRL_MASK));

aaaddActionListener(this);//复制

bbaddActionListener(this);//剪切

ccaddActionListener(this);//粘贴

jmd4addActionListener(this);

jcuti1addItemListener(this);//粗体

jxieti1addItemListener(this);//斜体

jm3add(jmi7);

jmi7addActionListener(this);//关于自己

cadd(jToolBar,BorderLayoutCENTER); //工具条

jButton2setIcon(new ImageIcon("image\\newJPG"));//新建

jToolBaradd(jButton2);

jButton2setToolTipText("新建");

jButton2addActionListener(this);

jButton1setIcon(new ImageIcon("image\\openJPG"));//打开

jButton1setToolTipText("打开");

jToolBaradd(jButton1);

jButton1addActionListener(this);

jButton3setIcon(new ImageIcon("image\\saveJPG"));//保存

jToolBaradd(jButton3);

jButton3setToolTipText("保存");

jButton3addActionListener(this);

jButton4setIcon(new ImageIcon("image\\qqJPG"));

jButton4addActionListener(this); //退出

jToolBaradd(jButton4);

jButton4setToolTipText("退出");

cadd(jsp,BorderLayoutSOUTH);

thissetDefaultCloseOperation(JFrameDISPOSE_ON_CLOSE);

thissetSize(500,500);

thissetVisible(true);

jmdb1addActionListener(new ActionListener() //**

{ public void actionPerformed(ActionEvent e)

{ jtasetForeground(Coloryellow);

} } );

jmdb2addActionListener(new ActionListener() //红色

{ public void actionPerformed(ActionEvent e)

{ jtasetForeground(Colorred);

} } );

jmdb3addActionListener(new ActionListener() //绿色

{ public void actionPerformed(ActionEvent e)

{ jtasetForeground(Colorgreen);

} } );

jmdb4addActionListener(new ActionListener() //蓝色

{

public void actionPerformed(ActionEvent e)

{

jtasetForeground(Colorblue);

} } );

jmdb5addActionListener(new ActionListener() //黑色

{

public void actionPerformed(ActionEvent e)

{

jtasetForeground(Colorblack);

} } );

}

public void actionPerformed(ActionEvent e)

{ if(egetSource()==jmi1)//新建

{jtasetText("");

thissetTitle("无标题 - 记事本");

}

if(egetSource()==jmi2)//打开

{File f1;

JFileChooser jfc1 = new JFileChooser();

int num1 = jfc1showOpenDialog(this);

if(num1==JFileChooserAPPROVE_OPTION)

{ try {

f1 = jfc1getSelectedFile();

thissetTitle(f1getName());

FileReader fr = new FileReader(f1);

BufferedReader br = new BufferedReader(fr);

String str;

while((str = brreadLine())!=null)

{jtasetText(str);}

frclose();

brclose(); }

catch(FileNotFoundException e1)

{e1printStackTrace();}

catch(IOException e2){e2printStackTrace();}

}}

if(egetSource()==jmi3)//保存

{File f2 = null;

JFileChooser jfc2 = new JFileChooser();

int num2 = jfc2showSaveDialog(this);

if(num2==JFileChooserAPPROVE_OPTION){

f2=jfc2getSelectedFile();

thissetTitle(f2getName());

try{

FileWriter fw = new FileWriter(f2);

BufferedWriter bw = new BufferedWriter(fw);

bwwrite(jtagetText());

bwclose();

fwclose();

}catch(IOException e2){

e2printStackTrace();

}}}

if(egetSource()==jmi4)//退出

{

int a = JOptionPaneshowConfirmDialog(this,"文件已被改变,是否要保存?","提示",JOptionPaneYES_NO_CANCEL_OPTION);

if(a==1){

thisdispose();

}else if(a==0){

File f2 = null;

JFileChooser jfc2 = new JFileChooser();

int num2 = jfc2showSaveDialog(this);

if(num2==JFileChooserAPPROVE_OPTION){

f2=jfc2getSelectedFile();

thissetTitle(f2getName());

try{

FileWriter fw = new FileWriter(f2);

BufferedWriter bw = new BufferedWriter(fw);

bwwrite(jtagetText());

bwclose();

fwclose();

}catch(IOException e2){

e2printStackTrace();

}

thisdispose();

}}}

if(egetSource()==jmp1)//日期时间

{

Calendar c1 =CalendargetInstance();

int y = c1get(CalendarYEAR);

int m = c1get(CalendarMONTH);

int d = c1get(CalendarDATE);

int h = c1get(CalendarHOUR);

int m1 = c1get(CalendarMINUTE);

int m2 = m+1;

jtasetText(y+"年"+m2+"月"+d+"日"+h+":"+m1);

}

if(egetSource()==jmp2)//背景色

{ Color ccc = JColorChoosershowDialog(this,"color",ColorBLACK);

jtasetSelectedTextColor(ccc);

jtasetBackground(ccc);

}

if(egetSource()==jButton1)//打开

{File f1;

JFileChooser jfc1 = new JFileChooser();

int num1 = jfc1showOpenDialog(this);

if(num1==JFileChooserAPPROVE_OPTION)

{

try

{

f1 = jfc1getSelectedFile();

thissetTitle(f1getName());

FileReader fr = new FileReader(f1);

BufferedReader br = new BufferedReader(fr);

String str;

while((str = brreadLine())!=null)

{jtasetText(str);}

frclose();

brclose(); }

catch(FileNotFoundException e1)

{e1printStackTrace();}

catch(IOException e2){e2printStackTrace();}

} }

if(egetSource()==jButton2)

{jtasetText("");

thissetTitle("文本编辑器");

}

if(egetSource()==jmi5){

jtareplaceRange("",jtagetSelectionStart(),jtagetSelectionEnd()); //删除

}

if(egetSource()==jButton3)

{File f2 = null;

JFileChooser jfc2 = new JFileChooser();

int num2 = jfc2showSaveDialog(this);

if(num2==JFileChooserAPPROVE_OPTION){

f2=jfc2getSelectedFile();

thissetTitle(f2getName());

try{

FileWriter fw = new FileWriter(f2);

BufferedWriter bw = new BufferedWriter(fw);

bwwrite(jtagetText());

bwclose();

fwclose();

}catch(IOException e2){

e2printStackTrace();

}}}

if(egetSource()==aa) //复制

{jtacopy();}

else if(egetSource()==bb)//剪切

{ jtacut(); }

else if(egetSource()==cc)//粘贴

{jtapaste();}

if(egetSource()==jButton4)

{int a = JOptionPaneshowConfirmDialog(this,"文件已被改变,是否要保存?","提示",JOptionPaneYES_NO_CANCEL_OPTION);

if(a==1){

thisdispose();

}else if(a==0){

File f2 = null;

JFileChooser jfc2 = new JFileChooser();

int num2 = jfc2showSaveDialog(this);

if(num2==JFileChooserAPPROVE_OPTION){

f2=jfc2getSelectedFile();

thissetTitle(f2getName());

try{

FileWriter fw = new FileWriter(f2);

BufferedWriter bw = new BufferedWriter(fw);

bwwrite(jtagetText());

bwclose();

fwclose();

}catch(IOException e2){

e2printStackTrace();

}

thisdispose();

}}}

//if(egetSource()==jmi7)//关于我

//{About1 a=new About1();//实现跳转

// asetVisible(true);

//}

}

public void itemStateChanged(ItemEvent e) //字体

{Font c=new Font("Serif",FontPLAIN,14);

if(egetItemSelectable()==jcuti1)

{if(jcuti1getState()==true)

{ Font f=new Font("Serif",FontBOLD,20); //粗体

jtasetFont(f);}

else{jtasetFont(c);}

}

else if(egetItemSelectable()==jxieti1)

{if(jxieti1getState()==true)

{ Font b=new Font("Serif",FontITALIC,20);//斜体

jtasetFont(b);}

else{jtasetFont(c);

} } }

public static void main(String[] args)//入口

{ new NoteBook(); }

public void windowOpened(WindowEvent arg0) {}

public void windowClosing(WindowEvent arg0) {

int a = JOptionPaneshowConfirmDialog(this,"文件已被改变,是否要保存?","提示",JOptionPaneYES_NO_CANCEL_OPTION);

if(a==1){

thisdispose();

}else if(a==0){

File f2 = null;

JFileChooser jfc2 = new JFileChooser();

int num2 = jfc2showSaveDialog(this);

if(num2==JFileChooserAPPROVE_OPTION){

f2=jfc2getSelectedFile();

thissetTitle(f2getName());

try{

FileWriter fw = new FileWriter(f2);

BufferedWriter bw = new BufferedWriter(fw);

bwwrite(jtagetText());

bwclose();

fwclose();

}catch(IOException e2){

e2printStackTrace();

}

}

if(a==2){}

}

}

public void windowClosed(WindowEvent arg0) {}

public void windowIconified(WindowEvent arg0) {}

public void windowDeiconified(WindowEvent arg0) {}

public void windowActivated(WindowEvent arg0) {}

public void windowDeactivated(WindowEvent arg0) {}

public void mouseClicked(MouseEvent arg0) {}

public void mousePressed(MouseEvent arg0) {}

public void mouseReleased(MouseEvent arg0) {}

public void mouseEntered(MouseEvent arg0) {}

public void mouseExited(MouseEvent arg0) {}

}

#include<stdioh>

#include<malloch>

#include<stringh>

#include<stdlibh>

#include<ctypeh>

#define NULL 0

#define MAX 100

typedef struct lnode{

char date[MAX]; //存放数据

struct lnode prior ; //前驱

struct lnode next ; //后继

int number ; //记录一个节点的字符数!如果是头节点就记录他的节点个数

int quese ; //记录节点在链表中的位置

}lnodetype;

lnodetype l ; //设置两个全局变量,分别是头节点指针和尾节点指针

lnodetype end ;

//这个函数是用来初始化的//

int iniatelist (lnodetype l , lnodetype end)

{

(l) = (lnodetype )malloc (sizeof (lnodetype) ) ;

if ( (l) == NULL )

{

printf ("没有只够的内存空间!程序即将退出!");

return 0 ;

}

(l)->prior =(l)->next = NULL ; //这是双链表

(l)->number = (l)->quese = 0;

(end) = (l) ;

printf ("程序初始化完毕!");

return 0;

}

//这个函数是用来建立节点,并且插入元素的//

int link(lnodetype l, lnodetype end)

{

lnodetype s ;

s = (lnodetype )malloc ( sizeof (lnodetype) ) ;

if ( s == NULL ){

printf ("内存空间不够,程序即将退出!") ;

return 0 ;

}

(end)->next = s ;

s->prior = (end) ;

(end) = (end)->next ;

(l)->number++ ; //增加一个节点,头节点的number就加1

s->quese = (l)->number ; //这个是记录节点在链表中的位置

printf ("%d行", s->quese ) ; //这个是节点在整个链表中的位置

gets(s->date) ;

s -> number = strlen(s->date) ;

return 0 ;

}

//这个是打印链表的函数//

int prin (lnodetype l, lnodetype end)

{

lnodetype p ;

int i ;

int j = 0;

int couter = (l)->number ;

p = (l)->next ;

for (i=0; i < couter; i++){

printf ( "%d行" , i+1 ) ;

j = 0;

while ( ( p->date[j]>='a' && p->date[j]<='z') ||

(p->date[j]>='A' && p->date[j]<='z') ||

p->date[j]>='0' && p->date[j]<='9')

{

printf ( "%c" , p->date[j] ) ;

j++ ;

}

printf ("n") ;

p = p->next ;

}

return 0 ;

}

//这个查找和编辑相应行的函数//

int search (lnodetype l, lnodetype end )

{

int number ;

scanf ("%d" , &number) ;

int i ;

lnodetype p ;

p = (l)->next ;

for ( i=0; i<number-1; i++ )

p = p->next ;

printf ("%d行" , number ) ;

gets (p->date) ;

return 0 ;

}

//这个是在文本文件里搜索字符串的函数//

int searchstr(lnodetype l , lnodetype end)

{

char ptr[100] ;

int arrycouter ;

int mystrcmp( char , char , int ) ;

printf ( "ok!现在输入你查找的字符串!" ) ;

scanf ( "%s" , ptr ) ;

arrycouter = strlen (ptr) ;

lnodetype s ;

s = (l)->next ;

char p ;

int i = 1 ;

int couter = 0 ;

int number = (l)->number ;

p = (char )s->date ;

while ( i && number ){

// i=1是,证明没有找到,向第二个节点继续寻找

while ( i && ( ( (p >= 'a') && (p <= 'z') ) || ( (p >= 'A') && (p <= 'Z') ) ) ){

i = mystrcmp ( p , ptr , arrycouter );

if ( i == 1 ){

printf ("字符串已经在第%d行,第%d个字符开始,",s->quese, couter+1 );

i = 0 ;

}

else

{

p++ ;

couter++;

i = 1 ;

}

}

s = s->next ;

p = (char )s->date ;

number -- ;

}

if ( i == 1 )

printf ("字符串在本文档中不存在!");

return 0 ;

}

//(1)这个函数是用来实现退出不保存功能的//

int exitunsave(lnodetype l, lnodetype end)

{

lnodetype s ;

while( (l) != (end) ){ //如果不保存的话,最好是把节点的空间都释放,节省空间

s = (end) ;

(end) = (end)->prior ;

free( s ) ;

}

return 0 ;

}

//(2)这个函数是用来实现退出但保存功能的//

int quitandsave( lnodetype l , lnodetype end )

{

FILE fp ;

char ch ;

char filename[20] ;

lnodetype p;

int i ;

int j ;

int couter = (l)->number ;

p = (l)->next ;

printf ("请输入文件名:") ;

scanf ("%s" , filename ) ;

if ( (fp = fopen( filename , "w" )) == NULL ){

printf ("文件不能打开!n");

return 0 ;

}

for ( i=0; i<couter; i++ ){ //有几个节点就进行多少次的存贮

ch = p->date[0] ;

j = 1 ;

while (ch != '\0'){

fputc (ch , fp) ;

ch = p->date[j] ;

j++ ;

}

p = p->next ;

fputc ( '#' , fp ) ; //注意在每个节点的后面加上结束的符号

}

fputc ( '@' , fp ) ; //整个文件关闭的标志

fclose ( fp ) ; //注意关闭文件,

return 0 ;

}

//由于库函数比较字符串提供的功能不满足要求,故自己写了一个/

int mystrcmp( char p ,char sour ,int number )

{

while ( number && (p) == (sour) &&

( ( (p >= 'a') && (p <= 'z') ) || ( (p >= 'A') && (p <= 'Z') ) )){

p++ ;

sour++ ;

number-- ;

}

if ( number == 0 )

return 1 ;

else

return 0 ;

}

//这个函数是用来实现统计字符串功能的//

int coutword(lnodetype l , lnodetype end)

{ //考虑到只统计一行的单词没有意义,故统计整个文本

int yes = 1 ; //这个是进入单词的标志

int no = 0 ; //在单词外面的时候的标志

int i , j ,inaword ,count = 0 ;

inaword = no ;

lnodetype s = (l)->next ;

for (j=0; j<(l)->number; j++){

for ( i=0; (s->date[i]>='a' && s->date[i]<='z') ||

(s->date[i]>='A' && s->date[i]<='z') ||

(s->date[i]>='0' && s->date[i]<='9' ) ||

(s->date[i]==' '); i++ )

{

if ( s->date[i] == ' ' )

inaword = no ;

else

if ( inaword == no )

{

inaword = yes ;

count++ ; //计算单词

}

}

s = s->next ;

inaword = 0 ; //注意这里,把标志置为0了!

}

printf ( "n文本一共有 %d 行" , (l)->number ) ;

printf ("n此文本一共有 %d 个单词!" , count ) ;

return count ;

}

//这个函数是用来实现计算文本行数功能的//

int linecouter(lnodetype l , lnodetype end )

{

int couter ;

couter = (l)->number ;

return couter ;

}

//这个函数是整和一上所有功能的菜单函数//

int editmenu(lnodetype l , lnodetype end )

{

char choice ;

char p = "cls" ;

int i = 1 ; //这两个变量是用来控制循环的

int j= 1 ;

system (p) ;

prin (&(l) , &(end)) ;

while (j){

printf (" e: 编辑相应行 n") ;

printf (" s: 搜索字符串 n") ;

printf (" t: 统计单词个数 n") ;

printf (" q: 退出编辑 n") ;

scanf("%c",&choice);

scanf("%c" , &choice) ; //????莫名其妙的问题,非要两个请求输入语句才肯停下来!

switch (choice)

{

case 'e' : {

i = 1 ;

while (i)

{

search( &(l) , &(end) );

system (p) ;

prin( &(l) , &(end) ) ;

printf ("n1 继续编辑 0 结束编辑n") ;

scanf ("%d" , &i) ;

}

}

break;

case 's' : {

i = 1 ;

while (i)

{

searchstr( &(l) , &(end) );

getchar();

getchar();

system (p) ;

prin( &(l) , &(end) ) ;

printf ("n1 继续搜索 0 结束搜索n") ;

scanf ("%d" , &i) ;

}

}

break;

case 't' : {

coutword ( &(l) , &(end) ) ;

getchar() ;

}break;

default : return 0 ;

}

system (p) ;

prin( &(l) , &(end) ) ;

printf ("n1 回到编辑菜单 0 结束编辑n") ;

scanf ("%d" , &j) ;

if (j == 1)

system (p) ;

else

return 0 ;

}

return 0 ;

}

//实现第一个模块:新建空白文档//

int newtext( lnodetype l ,lnodetype end )

{

printf ( "新文本文件:n" ) ;

int i = 1 ;

char judstr[MAX] ;

lnodetype temp ;

char jud ;

char p = "cls" ;

while ( 1 ){

link( &(l) , &(end) ) ;

jud = (end)->date[0] ;

if ( jud == '5' ){ //输入‘5’结束一切

temp = (end) ;

(end) = (end)->prior ;

free (temp) ;

while (1){

printf ( " out :退出不保存 n") ;

printf ( " edit :编辑信息 n") ;

printf ( " quit :退出而不存盘 n") ;

printf ( " qas :退出且存盘 n") ;

printf ( " con :继续输入! n") ;

gets(judstr) ;

if ( !strcmp(judstr , "out") )

{

exitunsave( &(l) , &(end) ) ;

return 0 ;

}

else

if ( !strcmp(judstr , "qas") )

{

quitandsave( &(l) , &(end) ) ;

return 0 ;

}

else

if ( !strcmp(judstr , "edit") )

{

editmenu (l , end) ;

return 0;

}

system (p) ;

}

return 0 ;

}

}

return 0 ;

}

//这个是装入文件的函数//

int loadtaxt( char filename )

{

FILE fp ;

lnodetype l ;

char ch ;

int i = 0 ;

char p = "cls" ;

char judstr[MAX] ;

lnodetype head ;

lnodetype end ;

iniatelist ( &head , &end) ;

l = end = head ;

if ( (fp = fopen( filename, "r+")) == NULL ){

printf ("文件不能打开!n") ;

return 0 ;

}

ch = fgetc ( fp ) ;

while ( ch != '@' ){

lnodetype s ;

s = (lnodetype )malloc ( sizeof (lnodetype) ) ;

if ( s == NULL ){

printf ("内存空间不够,程序即将退出!") ;

return 0 ;

}

end->next = s ;

s->prior = end ;

end = end->next ;

l->number++ ;

s->quese = l->number ;

printf ("%d行", s->quese ) ;

while ( ch != '#'){

s->date[i] = ch ;

ch = fgetc (fp) ;

i++ ;

}

i = 0;

while ( (end->date[i]>='a' && end->date[i]<='z') ||

(end->date[i]>='A' && end->date[i]<='z') ||

(end->date[i]>='0' && end->date[i]<='9' ) ||

(end->date[i]==' ') )

{

printf ( "%c" , end->date[i] ) ;

i++ ;

}

end->date[i] = '\0' ; //注意在节点的最好加上这个,以让退出保存功能函数知道此节点已结束

printf ( "n" ) ;

i = 0;

ch = fgetc ( fp ) ;

}

fclose (fp) ;

printf ("n文件成功装入!n") ;

while (1){

printf ( " out :退出不保存 n") ;

printf ( " edit :编辑信息 n") ;

printf ( " qas :退出且存盘 n") ;

printf ( " con :继续输入! n") ;

scanf("%s",judstr);

if ( !strcmp(judstr , "out") )

{

exitunsave( &l , &end ) ;

return 0 ;

}

else

if ( !strcmp(judstr , "qas") )

{

quitandsave( &l , &end ) ;

return 0 ;

}

else

if ( !strcmp(judstr , "edit") )

{

editmenu (&l , &end) ;

return 0 ;

}

system (p) ;

}

return 0 ;

}

//主函数//

void main ( void )

{

//iniatelist (&l , &end) ;

//newtext(&l , &end) ;

char filename[MAX] ;

scanf ( "%s" , filename ) ;

loadtaxt( filename ) ;

}

使用记事本编写Java程序需要遵循以下步骤:

1 打开记事本软件;

2 在空白文件中输入Java代码;

3 保存文件时,选择“所有文件”类型,并将文件后缀名改为“java”;

4 打开命令行窗口,切换至程序所在目录;

5 使用Javac编译器编译该Java程序;

6 若编译成功,使用Java虚拟机运行该程序。

下面简单介绍这些步骤的具体 *** 作:

1 打开记事本软件:点击开始菜单,在“所有程序”中找到“附件”文件夹,然后单击“记事本”。

2 输入Java代码:根据自己的需要,输入相应的Java代码。例如,可以尝试输入以下代码:

public class HelloWorld {

public static void main(String[] args) {

Systemoutprintln(Hello, world!);

}

}

上述代码是经典的Java程序,其功能是在控制台窗口输出“Hello, world!”字符串。

3 保存文件:在记事本软件中,选择“文件”->“另存为”,然后在d出的“另存为”对话框中,选中“所有文件”类型,并将文件名改为“HelloWorldjava”。注意,Java程序的文件名必须与公共类的类名相同。

4 打开命令行窗口:点击开始菜单,在“所有程序”中找到“附件”文件夹,然后单击“命令提示符”。

5 切换至程序所在目录:在命令行窗口中,使用cd命令切换至Java程序所在的目录。

6 编译Java程序:在命令行窗口中,输入以下命令:

javac HelloWorldjava

上述命令会使用Javac编译器编译HelloWorldjava文件。若编译成功,则会在当前目录下生成一个名为“HelloWorldclass”的字节码文件。

7 运行Java程序:在命令行窗口中,输入以下命令:

java HelloWorld

上述命令会使用Java虚拟机运行HelloWorldclass文件。程序将在控制台窗口中输出“Hello, world!”字符串。

以上就是使用记事本编写Java程序的基本步骤。记住,在编写Java程序时,要注意语法和缩进等细节问题。

以上就是关于编写任意内容到记事本怎么做全部的内容,包括:编写任意内容到记事本怎么做、用JAVA编写一个GUI记事本程序,实现文本的输入,保存,修改,打开 *** 作、C++ 关于记事本的简单程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9347374.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存