Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9f6314c9e9 | ||
|
|
27f941768a | ||
|
|
63ae9e7433 |
@@ -359,7 +359,7 @@ public static String putImg(ServletContext servletContext,MultipartFile file,Str
|
||||
saveSql(realurl, towhere,fileName);
|
||||
}
|
||||
|
||||
if(servletContext != null) return "/getFile/"+rid;
|
||||
if(servletContext != null) return "/getImg/"+rid;
|
||||
else return realurl;
|
||||
}
|
||||
|
||||
@@ -452,7 +452,7 @@ public static String putImgAsName(ServletContext servletContext,MultipartFile fi
|
||||
saveSql(realurl, towhere,fileName);
|
||||
}
|
||||
|
||||
if(servletContext != null) return "/getFile/"+rid;
|
||||
if(servletContext != null) return "/getImg/"+rid;
|
||||
else return realurl;
|
||||
}
|
||||
|
||||
@@ -548,7 +548,7 @@ public static String putVideo(ServletContext servletContext,MultipartFile file,S
|
||||
saveSql(realurl, towhere,fileName);
|
||||
}
|
||||
|
||||
if(servletContext != null) return "/getFile/"+rid;
|
||||
if(servletContext != null) return "/getImg/"+rid;
|
||||
else return realurl;
|
||||
}
|
||||
|
||||
@@ -669,8 +669,8 @@ public static void saveSql(String realurl, String towhere, String saveName) {
|
||||
String msid = towhere.split("#")[1];
|
||||
String mstag = towhere.split("#")[2];
|
||||
|
||||
if(realurl.indexOf("/getFile/")==0) {
|
||||
realurl=realurl.replace("/getFile/", "");
|
||||
if(realurl.indexOf("/getImg/")==0) {
|
||||
realurl=realurl.replace("/getImg/", "");
|
||||
if(db.execSql("select * from savefile where id = '"+realurl+"'", null)>0){//已存在
|
||||
db.execUpdate("update savefile set mstab=?,msid=?,mstag=?,savename=? where id=?", new String[]{mstab.trim(),msid.trim(),mstag.trim(),realurl.trim(),saveName==null?"":saveName.trim()});
|
||||
}else{//不存在
|
||||
@@ -780,8 +780,8 @@ public static void delfile(ServletContext servletContext, String path) {
|
||||
if(path.indexOf(":") <= 0)
|
||||
path1 = "D:\\" + path;
|
||||
} else {
|
||||
if(path.indexOf("/getFile/")==0){
|
||||
String rid = path.replace("/getFile/", "");
|
||||
if(path.indexOf("/getImg/")==0){
|
||||
String rid = path.replace("/getImg/", "");
|
||||
DBUtil db = new DBUtil();
|
||||
List<Map<String, Object>> rs = db.execQuery("select * from savefile where id ="+rid, null);
|
||||
if(rs!=null&&rs.size()>0){
|
||||
@@ -828,8 +828,8 @@ public static void delFileForStr(ServletContext servletContext, String str) {
|
||||
if(path.indexOf(":") <= 0)
|
||||
path1 = "D:\\" + path;
|
||||
} else {
|
||||
if(path.indexOf("/getFile/")==0){
|
||||
String rid = path.replace("/getFile/", "");
|
||||
if(path.indexOf("/getImg/")==0){
|
||||
String rid = path.replace("/getImg/", "");
|
||||
List<Map<String, Object>> rs = db.execQuery("select * from savefile where id ="+rid, null);
|
||||
if(rs!=null&&rs.size()>0){
|
||||
oldpath=rs.get(0).get("realurl")+"";
|
||||
@@ -867,8 +867,8 @@ public static void intoSqlForStr(String str,String towhere,String saveName) {
|
||||
mstag = towhere.split("#")[2];
|
||||
|
||||
for (String path : imgs) {
|
||||
if(path.indexOf("/getFile/")==0){
|
||||
String rid = path.replace("/getFile/", "");
|
||||
if(path.indexOf("/getImg/")==0){
|
||||
String rid = path.replace("/getImg/", "");
|
||||
List<Map<String, Object>> rs = db.execQuery("select * from savefile where id ="+rid, null);
|
||||
if(rs!=null&&rs.size()>0){
|
||||
path=rs.get(0).get("realurl")+"";
|
||||
|
||||
@@ -1,651 +0,0 @@
|
||||
package sc545.pay.utils;
|
||||
|
||||
import java.io.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import javax.servlet.ServletContext;
|
||||
|
||||
public class ReadTxt {
|
||||
|
||||
public static void main(String[] args) {
|
||||
}
|
||||
|
||||
/**
|
||||
* 按行读取txt文件
|
||||
*
|
||||
* @param path
|
||||
* 文件地址(默认D:\\scbox_settings开头)
|
||||
* @return ArrayList 返回每行数据为一个items的集合
|
||||
*/
|
||||
public static ArrayList<String> readFileLine(ServletContext servletContext, String path) {
|
||||
|
||||
if(path.indexOf("./")==0)
|
||||
path =path.substring(1, path.length());
|
||||
|
||||
if (servletContext == null) {
|
||||
if(path.indexOf(":") <= 0&&path.indexOf("/") <0)
|
||||
path = "D:\\scbox_settings\\" + path;
|
||||
} else {
|
||||
path = servletContext.getRealPath(path);
|
||||
}
|
||||
|
||||
|
||||
|
||||
ArrayList<String> strarr = null;
|
||||
try {
|
||||
File file = new File(path);
|
||||
if (file.isFile() && file.exists()) { // 判断文件是否存在
|
||||
InputStreamReader read = new InputStreamReader(
|
||||
new FileInputStream(file), "UTF-8");
|
||||
BufferedReader bufferedReader = new BufferedReader(read);
|
||||
String lineTxt = null;
|
||||
strarr = new ArrayList<String>();
|
||||
while ((lineTxt = bufferedReader.readLine()) != null) {
|
||||
|
||||
strarr.add(lineTxt);
|
||||
}
|
||||
|
||||
read.close();
|
||||
} else {
|
||||
strarr = null;
|
||||
}
|
||||
} catch (IOException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
return strarr;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 写入txt文档,已存在就修改,否则写入末尾,自动加换行 (文件格式:key=value,换行分隔)
|
||||
*
|
||||
* @param path
|
||||
* 文件地址(默认D:\\scbox_settings开头)
|
||||
* @param keyname
|
||||
* 要修改的参数名
|
||||
* @param content
|
||||
* 要修改的参数值
|
||||
*/
|
||||
public static void writeSetting(ServletContext servletContext, String path, String keyname, String content) {
|
||||
|
||||
/**************/
|
||||
// 如果存在,则追加内容;如果文件不存在,则创建文件
|
||||
if(path.indexOf("./")==0)
|
||||
path =path.substring(1, path.length());
|
||||
|
||||
if (servletContext == null) {
|
||||
if(path.indexOf(":") <= 0&&path.indexOf("/") <0)
|
||||
path = "D:\\scbox_settings\\" + path;
|
||||
} else {
|
||||
path = servletContext.getRealPath(path);
|
||||
}
|
||||
|
||||
try {
|
||||
File file = new File(path);
|
||||
if (file.isFile() && file.exists()) { // 判断文件是否存在
|
||||
InputStreamReader read = new InputStreamReader(
|
||||
new FileInputStream(file), "UTF-8");
|
||||
BufferedReader bufferedReader = new BufferedReader(read);
|
||||
String lineTxt = null;
|
||||
boolean isread = false;// 是否读取到该行并修改
|
||||
// 将内容全部读出来,存为新的数据流
|
||||
// 读到要修改的行进行修改存入,否则原样读取存入
|
||||
StringBuffer buf = new StringBuffer();
|
||||
while ((lineTxt = bufferedReader.readLine()) != null) {
|
||||
if (lineTxt.startsWith(keyname + "=")) {
|
||||
buf.append(keyname + "=" + content + "\r\n");
|
||||
isread = true;
|
||||
} else {
|
||||
buf.append(lineTxt + "\r\n");
|
||||
}
|
||||
}
|
||||
read.close();
|
||||
if (!isread) {// 没有读取到,写入末尾
|
||||
buf.append(keyname + "=" + content + "\r\n");
|
||||
}
|
||||
|
||||
// 把新内容覆盖写入文件
|
||||
PrintWriter out = new PrintWriter(new BufferedWriter(
|
||||
new OutputStreamWriter(new FileOutputStream(path),
|
||||
"UTF-8")));
|
||||
out.write(buf.toString());
|
||||
out.flush();
|
||||
out.close();
|
||||
|
||||
} else {// 不存在,创建写入
|
||||
String path2 = path.substring(0, path.replace("\\", "/").lastIndexOf("/"));
|
||||
File file1 = new File(path2);
|
||||
// 如果文件夹不存在则创建
|
||||
if (!file1.exists() && !file1.isDirectory()) {
|
||||
file1.mkdirs();
|
||||
}
|
||||
File file2 = new File(path);
|
||||
if (!file2.exists()) {
|
||||
file2.createNewFile();
|
||||
}
|
||||
|
||||
PrintWriter out = new PrintWriter(new BufferedWriter(
|
||||
new OutputStreamWriter(new FileOutputStream(path),
|
||||
"UTF-8")));
|
||||
out.write(keyname + "=" + content + "\r\n");
|
||||
out.flush();
|
||||
out.close();
|
||||
}
|
||||
} catch (IOException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
/**************/
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 读取txt配置,返回map集合(文件格式:key=value,换行分隔)
|
||||
*
|
||||
* @param path
|
||||
* 文件地址(默认D:\\scbox_settings开头)
|
||||
* @return hashmap
|
||||
*/
|
||||
public static HashMap<String, String> readSetting(ServletContext servletContext, String path) {
|
||||
if(path.indexOf("./")==0)
|
||||
path =path.substring(1, path.length());
|
||||
|
||||
if (servletContext == null) {
|
||||
if(path.indexOf(":") <= 0&&path.indexOf("/") <0)
|
||||
path = "D:\\scbox_settings\\" + path;
|
||||
} else {
|
||||
path = servletContext.getRealPath(path);
|
||||
}
|
||||
|
||||
HashMap<String, String> strarr = null;
|
||||
try {
|
||||
File file = new File(path);
|
||||
if (file.isFile() && file.exists()) { // 判断文件是否存在
|
||||
InputStreamReader read = new InputStreamReader(
|
||||
new FileInputStream(file), "UTF-8");
|
||||
BufferedReader bufferedReader = new BufferedReader(read);
|
||||
String lineTxt = null;
|
||||
strarr = new HashMap<String, String>();
|
||||
while ((lineTxt = bufferedReader.readLine()) != null) {
|
||||
if(lineTxt.indexOf("#")==0){
|
||||
continue;
|
||||
}
|
||||
String[] arr = new String[2];
|
||||
if (lineTxt.split("=").length >= 2) {
|
||||
arr[0] = lineTxt.split("=")[0];
|
||||
arr[1] = lineTxt.replace(arr[0]+"=", "");
|
||||
strarr.put(arr[0], arr[1]);
|
||||
}
|
||||
}
|
||||
|
||||
read.close();
|
||||
} else {
|
||||
strarr = null;
|
||||
}
|
||||
} catch (IOException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
return strarr;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取配置文件中所有设置属性(含注释)<br>
|
||||
* map.get("z") 取注释<br>
|
||||
* map.get("k") 取key<br>
|
||||
* map.get("v") 取value<br>
|
||||
*
|
||||
*
|
||||
* @param path
|
||||
* 文件地址(默认D:\\scbox_settings开头)
|
||||
*
|
||||
* @param t 只取以此字符开头的,不限制填null
|
||||
* @param st 从以此字符开头的行开始读取,不限制填null
|
||||
* @param et 读到以此字符开头的行结束,不限制填null
|
||||
* @return
|
||||
*/
|
||||
public static ArrayList<HashMap<String, String>> getSettingAll(ServletContext servletContext, String path,String t,String st,String et) {
|
||||
if(st==null||st.length()<1) st="";
|
||||
if(et==null||et.length()<1) et="";
|
||||
if(t==null||t.length()<1) t="";
|
||||
if(path.indexOf("./")==0)
|
||||
path =path.substring(1, path.length());
|
||||
|
||||
if (servletContext == null) {
|
||||
if(path.indexOf(":") <= 0&&path.indexOf("/") <0)
|
||||
path = "D:\\scbox_settings\\" + path;
|
||||
} else {
|
||||
path = servletContext.getRealPath(path);
|
||||
}
|
||||
|
||||
ArrayList<HashMap<String, String>> list=new ArrayList<>();
|
||||
try {
|
||||
File file = new File(path);
|
||||
if (file.isFile() && file.exists()) { // 判断文件是否存在
|
||||
InputStreamReader read = new InputStreamReader(
|
||||
new FileInputStream(file), "UTF-8");
|
||||
BufferedReader bufferedReader = new BufferedReader(read);
|
||||
String lineTxt = null;
|
||||
String zs="";//注释文本
|
||||
while ((lineTxt = bufferedReader.readLine()) != null) {
|
||||
if((!"".equals(st))||lineTxt.indexOf(st)!=0) continue;
|
||||
if((!"".equals(et))&&lineTxt.indexOf(et)==0) break;
|
||||
HashMap<String, String> map = new HashMap<String, String>();
|
||||
if(lineTxt.indexOf("#")==0){
|
||||
zs=lineTxt;
|
||||
continue;
|
||||
}
|
||||
String[] arr = new String[2];
|
||||
if (lineTxt.split("=").length >= 2&&lineTxt.indexOf(t)==0) {
|
||||
arr[0] = lineTxt.split("=")[0];
|
||||
arr[1] = lineTxt.replace(arr[0]+"=", "");
|
||||
map.put("z", zs);
|
||||
map.put("k", arr[0]);
|
||||
map.put("v", arr[1]);
|
||||
list.add(map);
|
||||
//把注释也加进去
|
||||
zs="";
|
||||
}
|
||||
}
|
||||
|
||||
read.close();
|
||||
} else {
|
||||
list = null;
|
||||
}
|
||||
} catch (IOException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
* 读取txt配置文件的某一项设置值 (文件格式:key=value,换行分隔)
|
||||
*
|
||||
* @param path
|
||||
* 文件地址
|
||||
* @param settingName
|
||||
* 设置名
|
||||
* @param nullString
|
||||
* 设置值为空时默认返回的内容
|
||||
* @return string
|
||||
*/
|
||||
public static String getSetting(ServletContext servletContext, String path, String settingName,String nullString) {
|
||||
HashMap<String, String> setting = ReadTxt.readSetting(servletContext,path);
|
||||
String val = setting == null ? nullString : setting.get(settingName);
|
||||
val = val == null ? "" : val;
|
||||
return "".equals(val.trim()) ? nullString : val;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有设置名以[settingName]开头的数据
|
||||
* */
|
||||
public static ArrayList<String> getSettingW(ServletContext servletContext, String path, String settingName) {
|
||||
HashMap<String, String> setting = ReadTxt.readSetting(servletContext,path);
|
||||
if(setting==null||setting.size()<1) return null;
|
||||
Iterator<Entry<String, String>> it = setting.entrySet().iterator();
|
||||
ArrayList<String> rs=new ArrayList<>();
|
||||
while (it.hasNext()) {
|
||||
Entry<String, String> en=it.next();
|
||||
String k = en.getKey();
|
||||
String v = en.getValue();
|
||||
if(k.indexOf(settingName)==0){
|
||||
rs.add(k+"="+v);
|
||||
}
|
||||
}
|
||||
|
||||
return rs;
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除某一项设置值 (文件格式:key=value,换行分隔)
|
||||
*
|
||||
* @param path
|
||||
* 文件地址
|
||||
* @param settingName
|
||||
* 设置名
|
||||
* @param nullString
|
||||
* 设置值为空时默认返回的内容
|
||||
* @return string
|
||||
*/
|
||||
public static void delSetting(ServletContext servletContext, String path, String settingName) {
|
||||
|
||||
|
||||
/**************/
|
||||
// 如果存在,则追加内容;如果文件不存在,则创建文件
|
||||
if(path.indexOf("./")==0)
|
||||
path =path.substring(1, path.length());
|
||||
|
||||
if (servletContext == null) {
|
||||
if(path.indexOf(":") <= 0&&path.indexOf("/") <0)
|
||||
path = "D:\\scbox_settings\\" + path;
|
||||
} else {
|
||||
path = servletContext.getRealPath(path);
|
||||
}
|
||||
|
||||
try {
|
||||
File file = new File(path);
|
||||
if (file.isFile() && file.exists()) { // 判断文件是否存在
|
||||
InputStreamReader read = new InputStreamReader(
|
||||
new FileInputStream(file), "UTF-8");
|
||||
BufferedReader bufferedReader = new BufferedReader(read);
|
||||
String lineTxt = null;
|
||||
// 将内容全部读出来,存为新的数据流
|
||||
// 读到要修改的行进行修改存入,否则原样读取存入
|
||||
StringBuffer buf = new StringBuffer();
|
||||
while ((lineTxt = bufferedReader.readLine()) != null) {
|
||||
if (lineTxt.startsWith(settingName + "=")) {
|
||||
} else {
|
||||
buf.append(lineTxt + "\r\n");
|
||||
}
|
||||
}
|
||||
read.close();
|
||||
|
||||
// 把新内容覆盖写入文件
|
||||
PrintWriter out = new PrintWriter(new BufferedWriter(
|
||||
new OutputStreamWriter(new FileOutputStream(path),
|
||||
"UTF-8")));
|
||||
out.write(buf.toString());
|
||||
out.flush();
|
||||
out.close();
|
||||
|
||||
} else {// 不存在,创建
|
||||
String path2 = path.substring(0, path.replace("\\", "/").lastIndexOf("/"));
|
||||
File file1 = new File(path2);
|
||||
// 如果文件夹不存在则创建
|
||||
if (!file1.exists() && !file1.isDirectory()) {
|
||||
file1.mkdirs();
|
||||
}
|
||||
File file2 = new File(path);
|
||||
if (!file2.exists()) {
|
||||
file2.createNewFile();
|
||||
}
|
||||
|
||||
}
|
||||
} catch (IOException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
/**************/
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 删除设置名以[settingName]开头的数据
|
||||
* @param servletContext
|
||||
* @param path
|
||||
* @param settingName
|
||||
*/
|
||||
public static void delSettingW(ServletContext servletContext, String path, String settingName) {
|
||||
|
||||
|
||||
/**************/
|
||||
// 如果存在,则追加内容;如果文件不存在,则创建文件
|
||||
if(path.indexOf("./")==0)
|
||||
path =path.substring(1, path.length());
|
||||
|
||||
if (servletContext == null) {
|
||||
if(path.indexOf(":") <= 0&&path.indexOf("/") <0)
|
||||
path = "D:\\scbox_settings\\" + path;
|
||||
} else {
|
||||
path = servletContext.getRealPath(path);
|
||||
}
|
||||
|
||||
try {
|
||||
File file = new File(path);
|
||||
if (file.isFile() && file.exists()) { // 判断文件是否存在
|
||||
InputStreamReader read = new InputStreamReader(
|
||||
new FileInputStream(file), "UTF-8");
|
||||
BufferedReader bufferedReader = new BufferedReader(read);
|
||||
String lineTxt = null;
|
||||
// 将内容全部读出来,存为新的数据流
|
||||
// 读到要修改的行进行修改存入,否则原样读取存入
|
||||
StringBuffer buf = new StringBuffer();
|
||||
while ((lineTxt = bufferedReader.readLine()) != null) {
|
||||
if (lineTxt.split("=")[0].indexOf(settingName)==0) {
|
||||
} else {
|
||||
buf.append(lineTxt + "\r\n");
|
||||
}
|
||||
}
|
||||
read.close();
|
||||
|
||||
// 把新内容覆盖写入文件
|
||||
PrintWriter out = new PrintWriter(new BufferedWriter(
|
||||
new OutputStreamWriter(new FileOutputStream(path),
|
||||
"UTF-8")));
|
||||
out.write(buf.toString());
|
||||
out.flush();
|
||||
out.close();
|
||||
|
||||
} else {// 不存在,创建
|
||||
String path2 = path.substring(0, path.replace("\\", "/").lastIndexOf("/"));
|
||||
File file1 = new File(path2);
|
||||
// 如果文件夹不存在则创建
|
||||
if (!file1.exists() && !file1.isDirectory()) {
|
||||
file1.mkdirs();
|
||||
}
|
||||
File file2 = new File(path);
|
||||
if (!file2.exists()) {
|
||||
file2.createNewFile();
|
||||
}
|
||||
|
||||
}
|
||||
} catch (IOException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
/**************/
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 删除过期的所有设置值 (文件格式:key=value,换行分隔)
|
||||
* <br>key为检测源
|
||||
* @param servletContext
|
||||
* @param path 路径
|
||||
* @param d 有效天数
|
||||
*/
|
||||
public static void delOutDateSetting(ServletContext servletContext, String path, int d) {
|
||||
|
||||
|
||||
/**************/
|
||||
// 如果存在,则追加内容;如果文件不存在,则创建文件
|
||||
if(path.indexOf("./")==0)
|
||||
path =path.substring(1, path.length());
|
||||
|
||||
if (servletContext == null) {
|
||||
if(path.indexOf(":") <= 0&&path.indexOf("/") <0)
|
||||
path = "D:\\scbox_settings\\" + path;
|
||||
} else {
|
||||
path = servletContext.getRealPath(path);
|
||||
}
|
||||
|
||||
try {
|
||||
File file = new File(path);
|
||||
if (file.isFile() && file.exists()) { // 判断文件是否存在
|
||||
InputStreamReader read = new InputStreamReader(
|
||||
new FileInputStream(file), "UTF-8");
|
||||
BufferedReader bufferedReader = new BufferedReader(read);
|
||||
String lineTxt = null;
|
||||
// 将内容全部读出来,存为新的数据流
|
||||
// 读到要修改的行进行修改存入,否则原样读取存入
|
||||
StringBuffer buf = new StringBuffer();
|
||||
boolean ts=false;
|
||||
while ((lineTxt = bufferedReader.readLine()) != null) {
|
||||
|
||||
if(lineTxt.indexOf("=")>0&&lineTxt.indexOf("#")<0){
|
||||
String[] ls = lineTxt.split("=");
|
||||
int has = ls[0].length()-ls[0].replaceAll("-", "").length();
|
||||
if(has>1){//日期时间
|
||||
if(Utils.dateout(ls[0], d)){
|
||||
buf.append(lineTxt + "\r\n");
|
||||
}else{
|
||||
ts=true;
|
||||
}//过期
|
||||
}else{//月份时间
|
||||
buf.append(lineTxt + "\r\n");
|
||||
}
|
||||
|
||||
}else{//注释或者不是setting
|
||||
buf.append(lineTxt + "\r\n");
|
||||
}
|
||||
|
||||
}
|
||||
read.close();
|
||||
if(ts){
|
||||
// 把新内容覆盖写入文件
|
||||
PrintWriter out = new PrintWriter(new BufferedWriter(
|
||||
new OutputStreamWriter(new FileOutputStream(path),
|
||||
"UTF-8")));
|
||||
out.write(buf.toString());
|
||||
out.flush();
|
||||
out.close();
|
||||
}
|
||||
|
||||
} else {// 不存在,创建
|
||||
String path2 = path.substring(0, path.replace("\\", "/").lastIndexOf("/"));
|
||||
File file1 = new File(path2);
|
||||
// 如果文件夹不存在则创建
|
||||
if (!file1.exists() && !file1.isDirectory()) {
|
||||
file1.mkdirs();
|
||||
}
|
||||
File file2 = new File(path);
|
||||
if (!file2.exists()) {
|
||||
file2.createNewFile();
|
||||
}
|
||||
|
||||
}
|
||||
} catch (IOException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
/**************/
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 删除过期的所有设置值 (文件格式:key=value,换行分隔)
|
||||
* <br>value为检测源
|
||||
* @param servletContext
|
||||
* @param path 路径
|
||||
* @param d 有效天数
|
||||
*/
|
||||
public static void delOutDateSettingValue(ServletContext servletContext, String path, int d) {
|
||||
|
||||
|
||||
/**************/
|
||||
// 如果存在,则追加内容;如果文件不存在,则创建文件
|
||||
if(path.indexOf("./")==0)
|
||||
path =path.substring(1, path.length());
|
||||
|
||||
if (servletContext == null) {
|
||||
if(path.indexOf(":") <= 0&&path.indexOf("/") <0)
|
||||
path = "D:\\scbox_settings\\" + path;
|
||||
} else {
|
||||
path = servletContext.getRealPath(path);
|
||||
}
|
||||
|
||||
try {
|
||||
File file = new File(path);
|
||||
if (file.isFile() && file.exists()) { // 判断文件是否存在
|
||||
InputStreamReader read = new InputStreamReader(
|
||||
new FileInputStream(file), "UTF-8");
|
||||
BufferedReader bufferedReader = new BufferedReader(read);
|
||||
String lineTxt = null;
|
||||
// 将内容全部读出来,存为新的数据流
|
||||
// 读到要修改的行进行修改存入,否则原样读取存入
|
||||
StringBuffer buf = new StringBuffer();
|
||||
boolean ts=false;
|
||||
while ((lineTxt = bufferedReader.readLine()) != null) {
|
||||
|
||||
if(lineTxt.indexOf("=")>0&&lineTxt.indexOf("#")<0){
|
||||
String[] ls = lineTxt.split("=");
|
||||
int has = ls[1].length()-ls[1].replaceAll("-", "").length();
|
||||
if(has>1){//日期时间
|
||||
if(Utils.dateout(ls[1], d)){
|
||||
buf.append(lineTxt + "\r\n");
|
||||
}else{
|
||||
ts=true;
|
||||
}//过期
|
||||
}else{//月份时间
|
||||
buf.append(lineTxt + "\r\n");
|
||||
}
|
||||
|
||||
}else{//注释或者不是setting
|
||||
buf.append(lineTxt + "\r\n");
|
||||
}
|
||||
|
||||
}
|
||||
read.close();
|
||||
if(ts){
|
||||
// 把新内容覆盖写入文件
|
||||
PrintWriter out = new PrintWriter(new BufferedWriter(
|
||||
new OutputStreamWriter(new FileOutputStream(path),
|
||||
"UTF-8")));
|
||||
out.write(buf.toString());
|
||||
out.flush();
|
||||
out.close();
|
||||
}
|
||||
|
||||
} else {// 不存在,创建
|
||||
String path2 = path.substring(0, path.replace("\\", "/").lastIndexOf("/"));
|
||||
File file1 = new File(path2);
|
||||
// 如果文件夹不存在则创建
|
||||
if (!file1.exists() && !file1.isDirectory()) {
|
||||
file1.mkdirs();
|
||||
}
|
||||
File file2 = new File(path);
|
||||
if (!file2.exists()) {
|
||||
file2.createNewFile();
|
||||
}
|
||||
|
||||
}
|
||||
} catch (IOException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
/**************/
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 将InputStream装换成某种字符编码的String
|
||||
*
|
||||
* @param in
|
||||
* @param encoding
|
||||
* @return
|
||||
*/
|
||||
public static String InputStreamTOString(InputStream in, String encoding) {
|
||||
int BUFFER_SIZE = 4096;
|
||||
String res = null;
|
||||
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
|
||||
byte[] data = new byte[BUFFER_SIZE];
|
||||
int count = -1;
|
||||
try {
|
||||
while ((count = in.read(data, 0, BUFFER_SIZE)) != -1) {
|
||||
outputStream.write(data, 0, count);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
try {
|
||||
res = new String(outputStream.toByteArray(), encoding);
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user