package
ifpre.web;
import
gxdmif.GXStringUtil;
import
java.io.DataOutputStream;
import
java.io.File;
import
java.io.FileOutputStream;
import
java.io.InputStream;
import
org.springframework.web.multipart.MultipartFile;
public
class
SaveFile
{
public
boolean
save(String path, MultipartFile file)
throws
Exception
{
GXStringUtil gx
=
new
GXStringUtil();
boolean
result
=
false
;
File dirFile
=
null
;
try
{
dirFile
=
new
File(path);
if
(
!
(dirFile.exists())
&&
!
(dirFile.isDirectory()))
{
boolean
creadok
=
dirFile.mkdirs();
if
(creadok)
{
System.out.println(
"
ok:创建文件夹成功!
"
);
}
else
{
System.out.println(
"
err:创建文件夹失败!
"
);
}
}
}
catch
(Exception e)
{
e.printStackTrace();
System.out.println(e);
return
false
;
}
if
(file
!=
null
&&
!
file.isEmpty())
{
String fullPath
=
path
+
System.getProperty(
"
file.separator
"
)
+
gx.netStringToGBK(file.getOriginalFilename());
DataOutputStream out
=
null
;
InputStream is
=
null
;
try
{
out
=
new
DataOutputStream(
new
FileOutputStream(fullPath));
is
=
file.getInputStream();
byte
[] buffer
=
new
byte
[
1024
];
while
(is.read(buffer)
>
0
)
{
out.write(buffer);
}
}
finally
{
if
(is
!=
null
)
{
is.close();
}
if
(out
!=
null
)
{
out.close();
}
}
result
=
true
;
}
return
result;
}
public
boolean
delete(String path, MultipartFile file)
throws
Exception
{
GXStringUtil gx
=
new
GXStringUtil();
boolean
result
=
false
;
if
(file
!=
null
&&
!
file.isEmpty())
{
String fullPath
=
path
+
System.getProperty(
"
file.separator
"
)
+
gx.netStringToGBK(file.getOriginalFilename());
try
{
File file2
=
new
File(fullPath);
file2.delete();
result
=
true
;
}
catch
(Exception e)
{
e.printStackTrace();
result
=
false
;
}
}
return
result;
}
public
boolean
deleteFolder(File folder)
{
boolean
result
=
false
;
try
{
String childs[]
=
folder.list();
if
(childs
==
null
||
childs.length
<=
0
)
{
if
(folder.delete())
{
result
=
true
;
}
}
else
{
for
(
int
i
=
0
; i
<
childs.length; i
++
)
{
String childName
=
childs[i];
String childPath
=
folder.getPath()
+
File.separator
+
childName;
File filePath
=
new
File(childPath);
if
(filePath.exists()
&&
filePath.isFile())
{
if
(filePath.delete())
{
result
=
true
;
}
else
{
result
=
false
;
break
;
}
}
else
if
(filePath.exists()
&&
filePath.isDirectory())
{
if
(deleteFolder(filePath))
{
result
=
true
;
}
else
{
result
=
false
;
break
;
}
}
}
}
folder.delete();
}
catch
(Exception e)
{
e.printStackTrace();
result
=
false
;
}
return
result;
}
}