Ⅰ 北大青鸟java培训:java编程开发语言编辑脚本应该怎么做
脚本对于大多数程序员来说应该不陌生了吧。
今天我们就一起来了解一下,在使用java编程开发语言编写API脚本的时候都需要注意哪些问题。
Java脚本化API为谁准备?脚本语言的一些有用的特性是:方便:大多数脚本语言都是动态类型的。
您通常可以创建新的变量,而不声明变量类型,并且您可以重用变量来存储不同类型的对象。
此外,脚本语言往往会自动执行许多类型的转换,例如,必要时将数字10转换为“10”。
开发快速原型:您可以避免编辑编译运行周期,只使用“编辑运行”!应用扩展/定制:你可以“具体化”的部分应用程序,例如一些配置脚本,业务逻辑/规则和财务应用中的数学表达式。
为应用添加命令行模式,用于调试、运行时配置/部署时间。
现在大多数应用程序都有一个基于Web的GUI配置工具。
但是系统管理员/部署人员常常喜欢命令行工具。
一个“标准”的脚本语言可以用来实现这个目的,而不是发明特设的脚本语言。
Java脚本API是一种独立于框架的脚本语言,使用来自于Java代码的脚本引擎。
通过java脚本API,可以使用Java语言编写定制/可扩展的应用程序并将自定义脚本语言选择留给终用户。
Java应用程序开发者不需要在开发过程中选择扩展语言。
如果你使用JSR-223API来编写应用,那么你的用户可以使用任何JSR-223兼容的脚本语言。
脚本包Java脚本功能是在javax.script包中。
这是一个比较小的,简单的API。
脚本的出发点是ScriptEngineManager类。
一个ScriptEngineManager对象可以通过jar文件的服务发现机制发现脚本引擎。
它也可以实例化脚本引擎来解释使用特定的脚本语言编写的脚本。
脚本变量当你的java应用程序嵌入脚本引擎和脚本,你可能希望将您的应用程序对象为全局变量暴露于脚本中。
这个例子演示了如何将您的应用程序对象作为全局变量暴露于脚本中。
我们在应用程序中创建一个java.io.File对象作为全局变量,名称是file。
北京电脑培训http://www.kmbdqn.cn/发现该脚本可以访问变量,例如,它可以调用它的公共方法。
注意访问java对象、领域和方法的语法依赖于脚本语言。
JavaScript支持“自然”的类似java的语法。
Ⅱ java怎么保存文件
可以使用java.io.FileOutputStream流保存任意文件或者用java.io.ObjectOutputStream流保存类文件
Ⅲ java如何保存文件
这是我原来做的例子,里面有文件储存的内容,代码不多,给你参考参考.
/**
* 五个按钮的故事,西西哈。
*/
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class FileMessage extends Frame implements ActionListener
{
private static final long serialVersionUID = 10L;
Dialog dia;
private Panel p;
private File fi;
Process po=null;
private String s;
private TextArea ta;
private FileDialog fd;
private Button b1,b2,b3,b4,b5;
private Button b6;
public FileMessage()
{
super("文本文件处理");
setBackground( Color.LIGHT_GRAY );
setLocation(200,300);
setResizable( false);
setVisible( true);
addWindowListener( new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit( 0);
}
});
}
public void init()
{
ta=new TextArea("\n\n\n\n\n\t\t\t\t文本显示区");
ta.setSize(30,5);
ta.setEditable(false);
add( ta,"North");
p=new Panel();
add( p,"Center");
b1=new Button("浏览");
b2=new Button("保存");
b3=new Button("清空");
b4=new Button("关闭");
b5=new Button("独立打开");
b6=new Button("确定");
p.add(b1);
p.add(b2);
p.add(b3);
p.add(b4);
p.add(b5);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
b4.addActionListener(this);
b5.addActionListener(this);
b6.addActionListener(this);
fd=new FileDialog(this,"请选择文件",FileDialog.LOAD);
fd.setDirectory("f:\\note");
pack();
dia=new Dialog(this,"注意",true);
dia.setLayout(new BorderLayout());
Panel p1=new Panel();
p1.add( b6);
dia.add(new Label(" 请先选择文件"),BorderLayout.CENTER);
dia.add( p1,BorderLayout.SOUTH);
dia.addWindowListener( new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
dia.setVisible( false);
}
});
dia.setLocation(310,370);
dia.setSize(200,130);
}
public static void main(String[] args)
{
new FileMessage().init();
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==b1)
{
fd.setVisible(true);
s=fd.getDirectory()+fd.getFile();
fi=new File(s);
byte[] b=new byte[(int)fi.length()];
try
{
new FileInputStream(fi).read(b);
ta.setText(new String(b,0,(int)fi.length()));
}
catch(Exception e1){}
ta.setEditable(true);
}
else if(e.getSource()==b2)
{
try
{
if(ta.getText().equals("保存成功")||ta.getText() .equals( ""))
{}
else
{
new FileOutputStream(fi).write(ta.getText().getBytes());
ta.setText("保存成功");
ta.setEditable(false);
}
}
catch(FileNotFoundException e1)
{
ta.setText(e1.getMessage());
}
catch(IOException e1)
{
ta.setText("出现IOException异常");
}
}
else if(e.getSource()==b4)
System.exit(0);
else if(e.getSource()==b3)
{
ta.setText("");
ta.setEditable( false);
}
else if(e.getSource()==b5)
{
if(s==null)
{
dia.setVisible(true);
}
else
{
try
{
po=Runtime.getRuntime().exec("notepad.exe "+s);
}
catch(Exception ei)
{}
}
}
else if(e.getSource() ==b6)
{
dia.setVisible(false);
}
}
}