package com.wisoft.myapp.bo;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.util.List;
import java.util.Vector;
import javax.servlet.http.HttpSession;
import com.wisoft.myapp.br.FilesUtils;
import com.wisoft.myapp.br.IFilesUtils;
import com.wisoft.myapp.dao.FilesDAO;
import com.wisoft.myapp.po.FileUploaded;
import com.wisoft.myapp.pojo.Files;
import com.wisoft.myapp.pojo.Users;
public class FilesManagerBO
{
private FilesDAO filesdao;
private IFilesUtils filesutils;
public IFilesUtils getFilesutils()
{
return filesutils;
}
public void setFilesutils(IFilesUtils filesutils)
{
this.filesutils = filesutils;
}
public FilesDAO getFilesdao()
{
return filesdao;
}
public void setFilesdao(FilesDAO filesdao)
{
this.filesdao = filesdao;
}
/**
* 刪除文件
*
* @param fid
* 文件的唯一標識
* @return 是否刪除成功
*/
public boolean deleteFile(String fid)
{
try
{
filesdao.delete(Files.class, fid);
return true;
} catch (Exception e)
{
System.out.println(e.toString());
}
return false;
}
/**
* 更新文件信息
*
* @param file
* 要更新的文件
* @return 是否更新成功
*/
public boolean updateFile(Files file)
{
try
{
System.out.println("要跟新共享为" + file.getIsshared());
filesdao.update(file);
return true;
} catch (Exception e)
{
System.out.println(e.toString());
}
return false;
}
/**
* 保存文件信息
*
* @param user
* 新用户对象
* @return 是否添加成功
*/
public boolean saveFiles(Files file)
{
try
{
filesdao.save(file);
return true;
} catch (Exception e)
{
System.out.println(e.toString());
}
return false;
}
/**
* 注销
*
* @param session
*/
public boolean loginOut(HttpSession session)
{
Users user = (Users) session
.getAttribute(UsersManagerBO.USER_SESSION_NAME);
if (user != null)
{
session.removeAttribute(UsersManagerBO.USER_SESSION_NAME);
return true;
}
return false;
}
/**
* 得到當前用戶的id
*
* @param session
* @return
*/
public String getUserid(HttpSession session)
{
Users user = (Users) session
.getAttribute(UsersManagerBO.USER_SESSION_NAME);
if (user != null)
{
String id = user.getUserid();
return id;
}
return null;
}
/**
*
*
* @return
*/
/**
* 获得当前所有文件
*
* @param session
* @param p
* flex前台传回来的路径参数,但All是显示最顶层,否则根据具体路径得到
* @return 当前一级所有文件及文件夹
*/
public Files[] getAllFiles(HttpSession session, String p)
{
Users user = (Users) session
.getAttribute(UsersManagerBO.USER_SESSION_NAME);
String path = user.getUserid();
System.out.println(p);
if ("all".equals(p))
{
try
{
Vector<Files> v = new Vector<Files>();
List<Files> list = filesdao.findAll(Files.class);
if (list != null && list.size() > 0)
{
for (Files f : list)
{
// 判断是否是当前用户的文件或文件夹,以便取得当前用户的
if (isIncludeSubString(f.getPath(), "\\" + path + "\\"))
{
String strleave = f.getPath().substring(
44 + path.length(), f.getPath().length());
// 如果是第一层文件或者文件夹,则设置一下其大小
if (!isIncludeSubString(strleave, "\\"))
{
String size = filesutils
.getFormateFileSize(getSize(f.getPath()));
f.setFsize(size);
v.addElement(f);
}
}
}
Files[] ff = new Files[v.size()];
for (int i = 0; i < v.size(); i++)
{
ff[i] = v.get(i);
}
return ff;
}
} catch (Exception e)
{
System.out.println(e.getStackTrace().toString());
}
return null;
}
// 如果不是显示顶层,主要是为打开下一级文件夹,那么根据前台传来的具体的路径操作
else
{
try
{
System.out.println("根据路径条件得到当前文件夹下的文件");
Files[] ff = filesdao.getCurrentFolder(p);
for (Files f : ff)
{
if (isIncludeSubString(f.getPath(), "\\" + path + "\\"))
{
String strleave = f.getPath().substring(
f.getPath().lastIndexOf("\\") + 1,
f.getPath().length());
if (!isIncludeSubString(strleave, "."))
{
String size = filesutils
.getFormateFileSize(getSize(f.getPath()));
f.setFsize(size);
}
}
}
return ff;
} catch (Exception e)
{
e.printStackTrace();
}
return null;
}
}
public Files[] getAllFiles2(HttpSession session)
{
Users user = (Users) session
.getAttribute(UsersManagerBO.USER_SESSION_NAME);
String path = user.getUserid();
try
{
Vector<Files> v = new Vector<Files>();
List<Files> list = filesdao.findAll(Files.class);
if (list != null && list.size() > 0)
{
for (Files f : list)
{
// 判断是否是当前用户的文件或文件夹,以便取得当前用户的
if (isIncludeSubString(f.getPath(), "\\" + path + "\\"))
{
String strleave = f.getPath().substring(
44 + path.length(), f.getPath().length());
// 如果是第一层文件或者文件夹,则设置一下其大小
if (!isIncludeSubString(strleave, "\\"))
{
String size = filesutils
.getFormateFileSize(getSize(f.getPath()));
f.setFsize(size);
v.addElement(f);
}
}
}
Files[] ff = new Files[v.size()];
for (int i = 0; i < v.size(); i++)
{
ff[i] = v.get(i);
}
return ff;
}
} catch (Exception e)
{
System.out.println(e.getStackTrace().toString());
}
return null;
}
/**
* 获得所用的共享文件
*
* @return
*/
public Files[] getAllSharedFiles()
{
Vector<Files> v = new Vector<Files>();
try
{
List<Files> list = filesdao.findAll(Files.class);
System.out.println(list.size());
if (list != null && list.size() > 0)
{
for (Files f : list)
{
if (isIncludeSubString(f.getIsshared(), "1"))
{
v.addElement(f);
}
}
Files[] ff = new Files[v.size()];
for (int i = 0; i < v.size(); i++)
{
ff[i] = v.get(i);
}
return ff;
}
} catch (Exception e)
{
System.out.println(e.getStackTrace().toString());
}
return null;
}
/**
* 创建新的文件夹(在用户的固定文件夹下)
*
* @param name
* 名称
* @param sessiopn
*/
public boolean newFolder(String name, HttpSession session)
{
FilesUtils utils = new FilesUtils();
Users user = (Users) session
.getAttribute(UsersManagerBO.USER_SESSION_NAME);
String folderpath = session.getServletContext().getRealPath("/")
+ "netDisk\\" + user.getUserid();
try
{
File mydir = new File(folderpath + "\\" + name);
if (!mydir.exists())
{
mydir.mkdirs();
System.out.println(mydir.getPath());
String fileType = mydir.getName().substring(
mydir.getName().lastIndexOf(".") + 1,
mydir.getName().length());
Files file = new Files();
file.setAdddate(utils.getFormateTime(mydir.lastModified()));
file.setFname(mydir.getName());
file.setPath(mydir.getPath());
file.setFsize(utils.getFormateFileSize(mydir.length()));
file.setIsshared("0");
file.setFimage("folder.gif");
filesdao.save(file);
System.out.println(file.getFid());
System.out.println(file.getFname());
return true;
}
} catch (Exception e)
{
String message = "创建目录操作出错";
}
return false;
}
// 获得所有文件目录
public String[] getAllFolderPath(HttpSession session)
{
Users user = (Users) session
.getAttribute(UsersManagerBO.USER_SESSION_NAME);
String path = session.getServletContext().getRealPath("/")
+ "netDisk\
flex(java)网络硬盘
4星 · 超过85%的资源 需积分: 9 121 浏览量
2009-06-10
17:18:00
上传
评论 4
收藏 5.21MB RAR 举报
telimaopeipei
- 粉丝: 1
- 资源: 3
最新资源
- 常用工具集参考用于图像等数据处理
- 音乐展示网页、基于Stenography的图像数字水印添加与提取,以及基于颜色矩和Tamura算法的图像相似度评估算法py源码
- 基于EmguCV(OpenCV .net封装),图像数字水印加解密算法的实现,其中包含最低有效位算法,离散傅里叶变换算法+文档书
- 基于matlab+DWT的图像水印项目,数字水印+源代码+文档说明+图片+报告pdf
- (优秀毕业设计)基于python实现的数字图像可视化水印系统的设计与实现,多种数字算法实现+源代码+文档说明+理论演示pdf
- 基于DWT-DCT-SVD和deflate压缩的数字水印方法python源码+Gui界面+演示视频(高分毕业设计)
- 基于matlab实现DWT、DCT、SVD算法数字图像水印可视化系统+GUI界面+文档说明+详细注释(高分毕业设计)
- NCIAE-Data-Structure大一大二笔记
- 学习wireshark笔记
- digital-image-数据可视化笔记
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈