RemoteFile.java 2.08 KB
package com.sitech.util.upload;

import java.util.Date;
import java.util.StringTokenizer;
import java.util.Vector;

import com.jcraft.jsch.SftpATTRS;
import com.jcraft.jsch.ChannelSftp.LsEntry;

public class RemoteFile {
	private String fileName;
	private boolean isDirectory;
	private Date lastModifyTime;
	private String permissons;
	private long size;
	private String owner;

	public RemoteFile(AFtpRemoteFile ftpRemoteFile) {
		fileName = ftpRemoteFile.getFileName();
		isDirectory = ftpRemoteFile.isDirectory();
		lastModifyTime = ftpRemoteFile.getModifyDate();
		permissons = ftpRemoteFile.getPermissons();
		size = ftpRemoteFile.getSize();

		owner = ftpRemoteFile.getOwner();
	}

	public RemoteFile(LsEntry lsEntry) {
		fileName = lsEntry.getFilename();

		String longname = lsEntry.getLongname();
		owner = split(longname, 2);

		SftpATTRS attrs = lsEntry.getAttrs();
		isDirectory = attrs.isDir();

		lastModifyTime = new Date(attrs.getMTime() * 1000l);
		permissons = attrs.getPermissionsString();
		size = attrs.getSize();
	}

	public String split(String str, int pos) {
		StringTokenizer st = new StringTokenizer(str);
		Vector<String> values = new Vector<String>();
		while (st.hasMoreTokens()) {
			values.add(st.nextToken());
		}
		if (pos >= 0 && pos < values.size()) {
			return values.get(pos);
		}
		return "";
	}

	public String getFileName() {
		return fileName;
	}

	public void setFileName(String fileName) {
		this.fileName = fileName;
	}

	public boolean isDirectory() {
		return isDirectory;
	}

	public Date getLastModifyTime() {
		return lastModifyTime;
	}

	public void setLastModifyTime(Date lastModifyTime) {
		this.lastModifyTime = lastModifyTime;
	}

	public String getPermissons() {
		return permissons;
	}

	public void setPermissons(String permissons) {
		this.permissons = permissons;
	}

	public long getSize() {
		return size;
	}

	public void setSize(long size) {
		this.size = size;
	}

	public void setDirectory(boolean isDirectory) {
		this.isDirectory = isDirectory;
	}

	public String getOwner() {
		return owner;
	}

	public void setOwner(String owner) {
		this.owner = owner;
	}

}