diff --git a/app/src/main/java/com/fongmi/bear/ApiConfig.java b/app/src/main/java/com/fongmi/bear/ApiConfig.java index 75dc4faa8..e0edfc777 100644 --- a/app/src/main/java/com/fongmi/bear/ApiConfig.java +++ b/app/src/main/java/com/fongmi/bear/ApiConfig.java @@ -121,6 +121,7 @@ public class ApiConfig { site.setSearchable(Json.safeInt(obj, "quickSearch", 1)); site.setFilterable(Json.safeInt(obj, "filterable", 1)); site.setExt(Json.safeString(obj, "ext", "")); + if (site.getExt().startsWith("file://")) site.setExt(FileUtil.read(site.getExt())); if (site.getKey().equals(Prefers.getHome())) setHome(site); sites.add(site); } diff --git a/app/src/main/java/com/fongmi/bear/utils/FileUtil.java b/app/src/main/java/com/fongmi/bear/utils/FileUtil.java index fc736f2af..228233edd 100644 --- a/app/src/main/java/com/fongmi/bear/utils/FileUtil.java +++ b/app/src/main/java/com/fongmi/bear/utils/FileUtil.java @@ -4,8 +4,11 @@ import android.os.Environment; import com.fongmi.bear.App; +import java.io.BufferedReader; import java.io.File; +import java.io.FileInputStream; import java.io.FileOutputStream; +import java.io.InputStreamReader; public class FileUtil { @@ -39,4 +42,17 @@ public class FileUtil { fos.flush(); fos.close(); } + + public static String read(String path) { + try { + BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(getLocal(path)))); + StringBuilder sb = new StringBuilder(); + String text; + while ((text = br.readLine()) != null) sb.append(text).append("\n"); + br.close(); + return sb.toString(); + } catch (Exception e) { + return ""; + } + } }