?? fileoperate.java
字號:
import java.io.*;
import javax.swing.JOptionPane;
//文件操作類
public class FileOperate {
private String[] str;
private String filename,path;
public FileOperate(){ //列表所有 cnc目錄下的 %開頭的文件
str=new File(".\\cnc\\").list();
}
public FileOperate(String fname) throws Exception{ //按下ok后,判斷文件是否存在
filename="%"+fname;
path=".\\cnc"+File.separator+filename;
try{//如果打開失敗,他會拋出異常
FileInputStream fis=new FileInputStream(path);
fis.close();
}catch(IOException ioe){
try{
RandomAccessFile raf=new RandomAccessFile(path,"rw"); //打開方式為讀寫
//不存在則創建文件,RandomAccessFile流會自動創建文件,如果創建失敗,一樣會拋異常
raf.close();
}catch(IOException ie){//如果創建文件失敗,則提示
throw new Exception("創建新文件失敗,請檢查存儲空間是否已滿");
}
}//判斷文件存在與否的流結束
}
public String editfile(){
String filecontext="";
int count=0; //文件行數
try{
RandomAccessFile raf=new RandomAccessFile(path,"rw");
while(raf.read()!=-1){ //這里會使偏移向后一格
raf.seek(raf.getFilePointer()-1); //把偏移量向前一格
filecontext=filecontext+raf.readLine()+"\r\n"; //讀取整行,直到文件結束,使文件游標轉到下一行
count++; //文件行數+1
}
raf.close(); //釋放資源
return filecontext;
}catch(IOException io){
return filecontext;
}
}
public void savefile(String filetext) throws Exception{ //保存文件內容
try{ //把信息寫進文件
FileOutputStream fout=new FileOutputStream(path,false); //追加方式添加數據
String info=filetext;
fout.write(info.getBytes());
fout.close();
}catch(IOException ioe){//這里的異常拋出主要是防止文件只讀,磁盤滿了等,用于調用者捕獲
JOptionPane.showMessageDialog(null,ioe.getMessage());
throw new Exception("權限不夠");
}
}
public String[] getfilelist(){
return str;
}
/* public static void main(String[] args){ //測試文件
try{
FileOperate fo=new FileOperate("123");
fo.editfile();
System.exit(0);
}
catch(Exception e){
JOptionPane.showMessageDialog(null,e.getMessage());
}
}
*/
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -