1. 程式人生 > 其它 >讀檔案+擷取檔案指定兩個字元之間的內容+將內容轉為json格式+並返回給前端

讀檔案+擷取檔案指定兩個字元之間的內容+將內容轉為json格式+並返回給前端

技術標籤:java

笨辦法,前提是你的檔案是json格式的
File file1 = new File(“D:\test\taa.blackrules.config.policy”);
File file2 = new File(“D:\test\taa.eventrules.config.policy”);
File file3 = new File(“D:\test\taa.whiterules.config.policy”);
String re = “”;
try {
BufferedReader reader1 = new BufferedReader(new FileReader(file1));

BufferedReader reader2 = new BufferedReader(new FileReader(file2));
BufferedReader reader3 = new BufferedReader(new FileReader(file3));
String txt1 ="";
String txt2 ="";
String txt3 ="";
while(reader1.ready()) {
txt1 += reader1.readLine();
}
while(reader2.ready()) {
txt2 += reader2.readLine();
}
while(reader3.ready()) {
txt3 += reader3.readLine();
}
int loc1 =txt1.indexOf(“policies”);
int loc2 = txt1.indexOf(",“header”);
String result1 =txt1.substring(loc1,loc2);
result1 ="""+“blackrules.”+ result1;

int loc3 =txt2.indexOf("policies");
int loc4 = txt2.indexOf(",\"header");
String result2 =txt2.substring(loc3,loc4);
result2 ="\""+"eventrules."+ result2;

int loc5 =txt3.indexOf("policies");
int loc6 = txt3.indexOf(",\"header");
String result3 =txt3.substring(loc5,loc6);
result3 ="\""+"whiterules."+ result3;

reader1.close();
reader2.close();
reader3.close();

re = "{"+result1 +","+ result2+"," + result3 +"}";

} catch (IOException e) {
e.printStackTrace();
}
JSONObject jsonObject;
jsonObject = JSONObject.parseObject(re);
return jsonObject;

好一點的
public Map getDevicePolicies() {
File file1 = new File("/var/log/in-sec-taa/policy/taa.blackrules.config.policy");
File file2 = new File("/var/log/in-sec-taa/policy/taa.eventrules.config.policy");
File file3 = new File("/var/log/in-sec-taa/policy/taa.whiterules.config.policy");
Map<String,Object> map=new HashMap();
try {
BufferedReader reader1 = new BufferedReader(new FileReader(file1));
BufferedReader reader2 = new BufferedReader(new FileReader(file2));
BufferedReader reader3 = new BufferedReader(new FileReader(file3));
String txt1 = “”;
String txt2 = “”;
String txt3 = “”;
while (reader1.ready()) {
txt1 += reader1.readLine();
}
while (reader2.ready()) {
txt2 += reader2.readLine();
}
while (reader3.ready()) {
txt3 += reader3.readLine();
}
JSONObject msgObj1 = JSONObject.parseObject(txt1);
Object str1 = msgObj1.get(“policies”);
JSONObject msgObj2 = JSONObject.parseObject(txt2);
Object str2 = msgObj2.get(“policies”);
JSONObject msgObj3 = JSONObject.parseObject(txt3);
Object str3 = msgObj3.get(“policies”);

        reader1.close();
        reader2.close();
        reader3.close();

        map.put("blackrules",str1);
        map.put("eventrules",str2);
        map.put("whiterules",str3);
    } catch (IOException e) {
        e.printStackTrace();
    }
    return map;
}

這兩個都要注意,給JSON格式裡的東西命名,不能在兩個單詞之間加點!!!
eg:“whiterules.”
eg:map.put(“blackrules.xxx”,str1);
不然返回給前端會變成這樣,會多一個雙引號,刪掉點就好了
在這裡插入圖片描述