当前位置:  编程技术>移动开发
本页文章导读:
    ▪Path失去SDCard路径        Path得到SDCard路径 Environment.getExternalStorageDirectory().getAbsolutePath()PS: File.separator 等价于 / ......
    ▪ EditText中加入图片也许类似QQ表情图        EditText中加入图片或者类似QQ表情图 Drawable drawable = getResources().getDrawable(R.drawable.icon);         drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());         SpannableString sp.........
    ▪ Java兑现FTP上传下载文件       Java实现FTP上传下载文件 自己写的一个FTP文件上传下载类,该程序中包含内容为:1、远程FTP服务连接2、FTP上传文件3、FTP下载文件,注意:在下载多个文件时,必须执行:ftpClient.completePendingCo.........

[1]Path失去SDCard路径
    来源: 互联网  发布时间: 2014-02-18
Path得到SDCard路径
Environment.getExternalStorageDirectory().getAbsolutePath()
PS: File.separator 等价于 /

    
[2] EditText中加入图片也许类似QQ表情图
    来源: 互联网  发布时间: 2014-02-18
EditText中加入图片或者类似QQ表情图
Drawable drawable = getResources().getDrawable(R.drawable.icon);
        drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
        SpannableString spannable = new SpannableString(getText(R.id.editText1).toString() + "[smile]");
        ImageSpan span = new ImageSpan(drawable, ImageSpan.ALIGN_BASELINE);
        spannable.setSpan(span, getText(R.id.editText1).length(),getText(R.id.editText1).length()+"[smile]".length(), Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
        content.setText(spannable);
将需要的文字高亮显示:




public void highlight(int start,int end){
SpannableStringBuilder spannable=new SpannableStringBuilder(getText().toString());//用于可变字符串
ForegroundColorSpan span=new ForegroundColorSpan(Color.RED);
spannable.setSpan(span, start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
setText(spannable);
}


加下划线:




public void underline(int start,int end){
SpannableStringBuilder spannable=new SpannableStringBuilder(getText().toString());
CharacterStyle span=new UnderlineSpan();
spannable.setSpan(span, start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
setText(spannable);
}


组合运用:




SpannableStringBuilder spannable=new SpannableStringBuilder(getText().toString());
CharacterStyle span_1=new StyleSpan(android.graphics.Typeface.ITALIC);
CharacterStyle span_2=new ForegroundColorSpan(Color.RED);
spannable.setSpan(span_1, start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
spannable.setSpan(span_2, start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
setText(spannable);


案例:带有/n换行符的字符串都可以用此方法显示2种颜色




/**
* 带有/n换行符的字符串都可以用此方法显示2种颜色
* @param text
* @param color1
* @param color2
* @return
*/
public SpannableStringBuilder highlight(String text,int color1,int color2,int fontSize){
SpannableStringBuilder spannable=new SpannableStringBuilder(text);//用于可变字符串
CharacterStyle span_0=null,span_1=null,span_2;
int end=text.indexOf("/n");
if(end==-1){//如果没有换行符就使用第一种颜色显示
span_0=new ForegroundColorSpan(color1);
spannable.setSpan(span_0, 0, text.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}else{
span_0=new ForegroundColorSpan(color1);
span_1=new ForegroundColorSpan(color2);
spannable.setSpan(span_0, 0, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
spannable.setSpan(span_1, end+1, text.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

span_2=new AbsoluteSizeSpan(fontSize);//字体大小
spannable.setSpan(span_2, end+1, text.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
return spannable;
}

    
[3] Java兑现FTP上传下载文件
    来源: 互联网  发布时间: 2014-02-18
Java实现FTP上传下载文件
自己写的一个FTP文件上传下载类,该程序中包含内容为:
1、远程FTP服务连接
2、FTP上传文件
3、FTP下载文件,注意:在下载多个文件时,必须执行:ftpClient.completePendingCommand();否则,is = ftpClient.retrieveFileStream(file.getName());返回NUll
4、FTP文件的删除

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;

import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPClientConfig;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.commons.net.ftp.FTPReply;
import org.apache.log4j.Logger;

/**
*  ftp上传下载类
* @author
*
*/
public class BankReceiptFTPUtil {
private Logger logger = Logger.getLogger(BankReceiptFTPUtil.class);
private String ip ;
private int port;
private String pwd;
private String user;
private FTPClient ftpClient;

public BankReceiptFTPUtil(String ip, int port, String user, String pwd) {
this.ip = ip;
this.port = port;
this.user = user;
this.pwd = pwd;
}

/**
* 连接FTP服务器
* @param ip ip地址
* @param port 端口号
* @param user 用户名
* @param pwd 密码
* @return
* @throws Exception
*/
public boolean connectServer(String ip, int port, String user, String pwd) throws Exception {
boolean isSuccess = false;
try {
ftpClient = new FTPClient();
ftpClient.connect(ip, port);
ftpClient.setControlEncoding("GBK");
FTPClientConfig conf = new FTPClientConfig(FTPClientConfig.SYST_NT);
conf.setServerLanguageCode("zh");
ftpClient.login(user, pwd);
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
if(FTPReply.isPositiveCompletion(ftpClient.getReplyCode())) {
isSuccess = true;
} else {
ftpClient.disconnect();
logger.error("连接ftp服务器异常!");
throw new BossOperException();
}
} catch (Exception e) {
logger.error("连接FTP服务器异常.." ,e);
}

return isSuccess ;
}

/**
* 远程FTP下载文件
* @param remotePath
* @param localPath
* @param fileName
* @return
* @throws Exception
*/
public List<File> downloadFile(String remotePath, String localPath, List<File> files) throws Exception {
List<File> result = new ArrayList<File>();
File fileOut = null ;
InputStream is = null ;
FileOutputStream os = null ;
try {
if(connectServer(this.getIp(), this.getPort(), this.getUser(), this.getPwd())) {
ftpClient.changeWorkingDirectory(remotePath);
FTPFile[] ftpFiles = ftpClient.listFiles();

for(FTPFile file : ftpFiles) {
is = ftpClient.retrieveFileStream(file.getName());
if(localPath != null && !localPath.endsWith(File.separator)) {
localPath = localPath + File.separator;
File path = new File(localPath);
if(!path.exists()) {
path.mkdirs();
}
}
fileOut = new File(localPath + file.getName());
os = new FileOutputStream(fileOut);
byte[] bytes = new byte[1024];
int c ;
while((c=is.read(bytes)) != -1) {
os.write(bytes, 0, c);
}

result.add(fileOut);
ftpClient.completePendingCommand();
os.flush();
is.close();
os.close();
}

for(FTPFile file : ftpFiles) {
ftpClient.deleteFile(file.getName());
}
}
} catch(Exception e) {
logger.error("从FTP服务器下载文件异常:", e);
} finally {
ftpClient.logout();
if(ftpClient.isConnected()) {
ftpClient.disconnect();
}
}

return result;
}

/**
* FTP上传文件
* @param remotePath
* @param localPath
* @param files
* @return
* @throws Exception
*/
public File uploadFile(String remotePath, List<File> files) throws Exception {
File fileIn = null;
OutputStream os = null;
FileInputStream is = null;
try {
for(File file : files) {
if(connectServer(this.getIp(), this.getPort(), this.getUser(), this.getPwd())) {
ftpClient.changeWorkingDirectory(remotePath);
os = ftpClient.storeFileStream(file.getName());
fileIn = file;
is = new FileInputStream(fileIn);
byte[] bytes = new byte[1024];
int c ;
while((c=is.read(bytes)) != -1) {
os.write(bytes, 0, c);
}
}
}
} catch(Exception e) {
logger.error("上传FTP文件异常: ", e);
} finally {
os.close() ;
is.close();
ftpClient.logout();
if(ftpClient.isConnected()) {
ftpClient.disconnect();
}
}

return fileIn;
}

public String getIp() {
return ip;
}

public void setIp(String ip) {
this.ip = ip;
}

public int getPort() {
return port;
}

public void setPort(int port) {
this.port = port;
}

public String getPwd() {
return pwd;
}

public void setPwd(String pwd) {
this.pwd = pwd;
}

public String getUser() {
return user;
}

public void setUser(String user) {
this.user = user;
}
}

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪Android根据电话号码获得联系人头像实例代码 iis7站长之家
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3