java file.isfile_Java FtpFile.isFile方法代码示例

import org.apache.ftpserver.ftplet.FtpFile; //导入方法依赖的package包/类

/**

* @see FileFormater#format(FtpFile)

*/

public String format(FtpFile file) {

StringBuilder sb = new StringBuilder();

for (int i = 0; i < selectedTypes.length; ++i) {

String type = selectedTypes[i];

if (type.equalsIgnoreCase("size")) {

sb.append("Size=");

sb.append(String.valueOf(file.getSize()));

sb.append(';');

} else if (type.equalsIgnoreCase("modify")) {

String timeStr = DateUtils.getFtpDate(file.getLastModified());

sb.append("Modify=");

sb.append(timeStr);

sb.append(';');

} else if (type.equalsIgnoreCase("type")) {

if (file.isFile()) {

sb.append("Type=file;");

} else if (file.isDirectory()) {

sb.append("Type=dir;");

}

} else if (type.equalsIgnoreCase("perm")) {

sb.append("Perm=");

if (file.isReadable()) {

if (file.isFile()) {

sb.append('r');

} else if (file.isDirectory()) {

sb.append('e');

sb.append('l');

}

}

if (file.isWritable()) {

if (file.isFile()) {

sb.append('a');

sb.append('d');

sb.append('f');

sb.append('w');

} else if (file.isDirectory()) {

sb.append('f');

sb.append('p');

sb.append('c');

sb.append('m');

}

}

sb.append(';');

}

}

sb.append(' ');

sb.append(file.getName());

sb.append(NEWLINE);

return sb.toString();

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
优化这个方法:private View getPopupWindowContentView(LayoutElementParcelable file) { // 一个自定义的布局,作为显示的内容 int layoutId = R.layout.popup_open_file_layout; // 布局ID View contentView = LayoutInflater.from(this).inflate(layoutId, null); // 点击重命名 contentView.findViewById(R.id.open_file_menu_rename).setOnClickListener(v -> { if (mPopupWindow != null) { mPopupWindow.dismiss(); } XLog.tag(TAG).i("popup click:rename"); checkDir(file, 0); }); // 点击删除 contentView.findViewById(R.id.open_file_menu_delete).setOnClickListener(v -> { if (mPopupWindow != null) { mPopupWindow.dismiss(); } XLog.tag(TAG).i("popup click:delete"); checkDir(file, 1); }); // 设置收藏按钮文字 收藏||取消收藏 String collectPath = ""; if (mCollects != null) { collectPath = mCollects.get(file.desc); } if (TextUtils.isEmpty(collectPath)) { collectPath = ""; } // 点击 收藏||取消收藏 TextView open_file_menu_collect = contentView.findViewById(R.id.open_file_menu_collect); String finalCollectPath = collectPath; open_file_menu_collect.setOnClickListener(v -> { if (mPopupWindow != null) { mPopupWindow.dismiss(); } if (finalCollectPath.equals(file.desc)) { XLog.tag(TAG).i("popup click:unCollect"); } else { XLog.tag(TAG).i("popup click:collect"); saveFileBrowseRecord(file); } }); if (collectPath.equals(file.desc)) { open_file_menu_collect.setText(getString(R.string.file_browser_un_collect)); } else { open_file_menu_collect.setText(getString(R.string.file_browser_collect)); } if (mTransferType == U_FTP_TO_FAB_FTP || mTransferType == FTP_U) { open_file_menu_collect.setVisibility(View.VISIBLE); } else { open_file_menu_collect.setVisibility(View.GONE); } return contentView; }
06-08
可以考虑对以下几个方面进行优化: 1. 使用静态内部类实现 OnClickListener,避免每次都创建新的对象。 2. 使用 Lambda 表达式替代匿名内部类,使代码更简洁。 3. 对于重复的逻辑可以进行方法封装,避免重复代码。 4. 对于重复的 View 查找,可以在方法外部进行缓存,避免重复查找。 5. 对于频繁调用的方法,可以使用局部变量进行缓存,避免多次调用。 下面是优化后的代码: private View getPopupWindowContentView(LayoutElementParcelable file) { // 一个自定义的布局,作为显示的内容 int layoutId = R.layout.popup_open_file_layout; // 布局ID View contentView = LayoutInflater.from(this).inflate(layoutId, null); // 点击重命名 contentView.findViewById(R.id.open_file_menu_rename).setOnClickListener(OnRenameClickListener.INSTANCE); // 点击删除 contentView.findViewById(R.id.open_file_menu_delete).setOnClickListener(OnDeleteClickListener.INSTANCE); // 点击 收藏||取消收藏 TextView open_file_menu_collect = contentView.findViewById(R.id.open_file_menu_collect); open_file_menu_collect.setOnClickListener(OnCollectClickListener.INSTANCE); // 设置收藏按钮文字 收藏||取消收藏 String collectPath = mCollects != null ? mCollects.get(file.desc) : ""; String collectText = collectPath.equals(file.desc) ? getString(R.string.file_browser_un_collect) : getString(R.string.file_browser_collect); open_file_menu_collect.setText(collectText); // 设置收藏按钮可见性 open_file_menu_collect.setVisibility(mTransferType == U_FTP_TO_FAB_FTP || mTransferType == FTP_U ? View.VISIBLE : View.GONE); return contentView; } private static class OnRenameClickListener implements View.OnClickListener { static final OnRenameClickListener INSTANCE = new OnRenameClickListener(); @Override public void onClick(View v) { if (mPopupWindow != null) { mPopupWindow.dismiss(); } XLog.tag(TAG).i("popup click:rename"); checkDir(file, 0); } } private static class OnDeleteClickListener implements View.OnClickListener { static final OnDeleteClickListener INSTANCE = new OnDeleteClickListener(); @Override public void onClick(View v) { if (mPopupWindow != null) { mPopupWindow.dismiss(); } XLog.tag(TAG).i("popup click:delete"); checkDir(file, 1); } } private static class OnCollectClickListener implements View.OnClickListener { static final OnCollectClickListener INSTANCE = new OnCollectClickListener(); @Override public void onClick(View v) { if (mPopupWindow != null) { mPopupWindow.dismiss(); } boolean isCollected = finalCollectPath.equals(file.desc); String logText = isCollected ? "popup click:unCollect" : "popup click:collect"; XLog.tag(TAG).i(logText); if (!isCollected) { saveFileBrowseRecord(file); } } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值