📄 a05481d5340b001c1915ec98d6fbfb09
字号:
package deng;
import java.io.*;
import java.util.ArrayList;
import javax.swing.JOptionPane;
public class FilesIO {
public static void main(String a[]){
File file=new File("E:\\FireWall");
if(file.exists()){
System.out.println("****************");
try {
file=new File("E:\\FireWall\\RuleScript.txt");
FileWriter fw=new FileWriter(file);
fw.write("LJGHKJGKJGKJ");
fw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else{
try {
if(file.mkdirs())
System.out.println("?????????????");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static void writeRuleToScript(Rule rule,PrintWriter pw){
String strRule="";
String[] direction=rule.getDirection();
for(int i=0;i<direction.length;i++){
if(direction[i]!=null)
{ //System.out.println(direction[i]+"????????");
strRule="iptable -A "+direction[i]+" -p "+rule.getProtocol()+" -s "+rule.getIP()
+" --sport "+rule.getSport()+" --dport "+rule.getDport()+" -j "+rule.getStrategy();
pw.println(strRule);
// System.out.println(strRule);
}
}
}
//如何文件中天插入信息而不覆盖原有信息?????
public static boolean writeAllRulesToScript(MyArrayList ruleList){
File file=new File("E:\\FireWall\\RuleScript.txt");
FileOutputStream fos=null;
PrintWriter pw=null;
boolean flag=false;
if(file.exists()){
try {
fos=new FileOutputStream(file,true);
pw=new PrintWriter(fos);
for(int i=0;i<ruleList.size();i++){
Rule rule=(Rule)ruleList.get(i);
writeRuleToScript(rule,pw);
}
flag=true;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
flag=false;
JOptionPane.showMessageDialog(null,"向脚本文件中写入时出错!" );
}
}else{
flag=false;
JOptionPane.showMessageDialog(null," 请事先创建文件夹E:\\FireWall!" );
}
pw.close();
return flag;
}
public static void saveRuleListToFile(MyArrayList ruleList){
File file=new File("E:\\FireWall\\RuleScript.txt");
FileOutputStream fos=null;
ObjectOutputStream oos=null;
if(file.exists()){
try {
fos=new FileOutputStream(file);
oos=new ObjectOutputStream(fos);
oos.writeObject(ruleList);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
JOptionPane.showMessageDialog(null,"向文件中保存数据时出错!" );
}
}else{
try {
file.createNewFile();
fos=new FileOutputStream(file);
oos=new ObjectOutputStream(fos);
oos.writeObject(ruleList);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
JOptionPane.showMessageDialog(null,"向文件中保存数据时出错!" );
}
}
try{
if(oos!=null)oos.close();
}catch(Exception ee){
ee.printStackTrace();
JOptionPane.showMessageDialog(null,"无法关闭资源!" );
}
}
public static MyArrayList readRuleListFromFile(){
File file=new File("E:\\FireWall\\RuleScript.txt");
MyArrayList myArrayList=new MyArrayList();
FileInputStream fis=null;
ObjectInputStream ois=null;
if(file.exists()){
try {
fis=new FileInputStream(file);
ois=new ObjectInputStream(fis);
myArrayList=(MyArrayList)ois.readObject();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
JOptionPane.showMessageDialog(null,"从文件中读取数据时出错!" );
}
}else{
try {
file.createNewFile();
fis=new FileInputStream(file);
ois=new ObjectInputStream(fis);
myArrayList=(MyArrayList)ois.readObject();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
JOptionPane.showMessageDialog(null,"从文件中读取数据时出错!" );
}
}
try{
if(ois!=null)ois.close();
}catch(Exception ee){
ee.printStackTrace();
JOptionPane.showMessageDialog(null,"无法关闭资源!" );
}
return myArrayList;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -