📄 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 + -