<!DOCTYPE html>
<html>
<head>
<title>Add.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=GBK">
<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
</head>
<body>
<form method="post" action="Add.jsp">
新建文件/文件夹的路径:<input type="text" name="AddPath" size="50">
<br>
<input type="radio" name="AddType" value="1" checked>
新建文件
<input type="radio" name="AddType" value="2" >
新建文件夹
<br>
<input type="submit" value="提交"><br>
</form>
</body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ page import="book.io.CreateFileUtil" %>
<%
request.setCharacterEncoding("GBK");
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'Add.jsp' starting page</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<%
String AddType=request.getParameter("AddType");
String AddPath=request.getParameter("AddPath");
//if(!empty($_POST['AddType']) && !empty($_POST['AddPath']) )
if((AddType!=null)&&(AddPath!=null) &&(!AddType.trim().isEmpty()) &&(!AddPath.trim().isEmpty()))
{
//$AddType=$_POST['AddType'];
AddType=AddType.trim();
//$AddPath=$_POST['AddPath'];
AddPath=AddPath.trim();
//if(file_exists($AddPath))
if(CreateFileUtil.isFileDirExists(AddPath))
{
//if(is_dir($AddPath))
//{
// echo "目录:".$AddPath."已存在<br>";
//}else{
// echo '文件: '. $AddPath.' 已存在!<br>';
//}
out.println("文件(夹):"+AddPath+" 已存在 <br>");
return;
}
//if($AddType==1)
if(AddType.equals("1"))
{//新建文件
try {
//$myfile = fopen($AddPath, "w");
//if($myfile)
//{
// fclose($myfile);
// echo '新建文件: '. $AddPath.' 成功!<br>';
//}
//else
//{
// echo '新建文件: '. $AddPath.' 失败!<br>';
//}
boolean bRet=CreateFileUtil.createFile(AddPath);
if(bRet)
{
out.println("文件:"+AddPath+" 创建成功 <br>");
}
else
{
out.println("文件:"+AddPath+" 创建失败 <br>");
}
}
//catch (Exception $e)
//{
// echo '新建文件: '. $AddPath.' 失败!<br>';
// print $e->getMessage();
// exit();
//}
catch (Exception e) {
out.println("创建文件:" + AddPath + "失败!" + e.getMessage());
}
}
//elseif($AddType==2)
else if(AddType.equals("2"))
{//新建文件夹
try {
//$result = mkdir($AddPath);
//if($result)
//{
// echo '新建目录: '. $AddPath.' 成功!<br>';
//}
//else
//{
// echo '新建目录: '. $AddPath.' 失败!<br>';
//}
boolean bRet=CreateFileUtil.createDir(AddPath);
if(bRet)
{
out.println("目录:"+AddPath+" 创建成功 <br>");
}
else
{
out.println("目录:"+AddPath+" 创建失败 <br>");
}
}
//catch (Exception $e) {
// echo '新建目录: '. $AddPath.' 失败!<br>';
// print $e->getMessage();
// exit();
//}
catch (Exception e) {
out.println("创建目录:" + AddPath + "失败!" + e.getMessage());
}
}
}
else
{
//if(empty($_POST['AddType']))
if((AddType==null)||(AddType.trim().isEmpty()))
{
//echo '请选择新建类型(文件/文件夹)<br>';
out.println("请选择新建类型(文件/文件夹)<br>");
}
//if(empty($_POST['AddPath']))
if((AddPath==null)||(AddPath.trim().isEmpty()))
{
//echo '请输入欲新建的文件/文件夹的路径<br>';
out.println("请输入欲新建的文件/文件夹的路径<br>");
}
}
%>
</body>
</html>
package book.io;
import java.io.File;
import java.io.IOException;
public class CreateFileUtil {
public static boolean isFileDirExists(String destPath) {
File fileORdir = new File(destPath);
if (fileORdir.exists()) {
return true;
}
return false;
}
public static boolean createFile(String destFileName) {
File file = new File(destFileName);
if(file.exists()) {
System.out.println("创建单个文件" + destFileName + "失败,目标文件已存在!");
return false;
}
if (destFileName.endsWith(File.separator)) {
System.out.println("创建单个文件" + destFileName + "失败,目标文件不能为目录!");
return false;
}
//判断目标文件所在的目录是否存在
if(!file.getParentFile().exists()) {
//如果目标文件所在的目录不存在,则创建父目录
System.out.println("目标文件所在目录不存在,准备创建它!");
if(!file.getParentFile().mkdirs()) {
System.out.println("创建目标文件所在目录失败!");
return false;
}
}
//创建目标文件
try {
if (file.createNewFile()) {
System.out.println("创建单个文件" + destFileName + "成功!");
return true;
} else {
System.out.println("创建单个文件" + destFileName + "失败!");
return false;
}
} catch (IOException e) {
e.printStackTrace();
System.out.println("创建单个文件" + destFileName + "失败!" + e.getMessage());
return false;
}
}
public static boolean createDir(String destDirName) {
File dir = new File(destDirName);
if (dir.exists()) {
System.out.println("创建目录" + destDirName + "失败,目标目录已经存在");
return false;
}
if (!destDirName.endsWith(File.separator)) {
destDirName = destDirName + File.separator;
}
//创建目录
if (dir.mkdirs()) {
System.out.println("创建目录" + destDirName + "成功!");
return true;
} else {
System.out.println("创建目录" + destDirName + "失败!");
return false;
}
}
public static String createTempFile(String prefix, String suffix, String dirName) {
File tempFile = null;
if (dirName == null) {
try{
//在默认文件夹下创建临时文件
tempFile = File.createTempFile(prefix, suffix);
//返回临时文件的路径
return tempFile.getCanonicalPath();
} catch (IOException e) {
e.printStackTrace();
System.out.println("创建临时文件失败!" + e.getMessage());
return null;
}
} else {
File dir = new File(dirName);
//如果临时文件所在目录不存在,首先创建
if (!dir.exists()) {
if (!CreateFileUtil.createDir(dirName)) {
System.out.println("创建临时文件失败,不能创建临时文件所在的目录!");
return null;
}
}
try {
//在指定目录下创建临时文件
tempFile = File.createTempFile(prefix, suffix, dir);
return tempFile.getCanonicalPath();
} catch (IOException e) {
e.printStackTrace();
System.out.println("创建临时文件失败!" + e.getMessage());
return null;
}
}
}
public static void main(String[] args) {
//创建目录
String dirName = "D:/work/temp/temp0/temp1";
CreateFileUtil.createDir(dirName);
//创建文件
String fileName = dirName + "/temp2/tempFile.txt";
CreateFileUtil.createFile(fileName);
//创建临时文件
String prefix = "temp";
String suffix = ".txt";
for (int i = 0; i < 10; i++) {
System.out.println("创建了临时文件:"
+ CreateFileUtil.createTempFile(prefix, suffix, dirName));
}
//在默认目录下创建临时文件
for (int i = 0; i < 10; i++) {
System.out.println("在默认目录下创建了临时文件:"
+ CreateFileUtil.createTempFile(prefix, suffix, null));
}
}
}