Ⅰ 北大青鳥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);
}
}
}