- 浏览: 112909 次
- 性别:
- 来自: 大连
文章分类
最新评论
-
ccfangle:
bestchenwu 写道什么时候用“==”还是“equals ...
操作符“==”与对象的equals()方法 -
bestchenwu:
什么时候用“==”还是“equals()”,跟你是把这个对象作 ...
操作符“==”与对象的equals()方法
链接地址:http://blog.csdn.net/zhaozhen1984/article/details/5911798
法1.借助StringBuilder
String str="abcd123";
StringBuilder sb=new StringBuilder(str);
str=sb.reverse().toString;
法2.利用循环
String str="abcd123";
char[] chs=str.toCharArray();
int size=str.length();
char temp;
for(int i=0;i<size/2;i++){
temp=chs[i];
chs[i]=chs[size-1-i];
chs[size-1-i]=temp;
}
str=new String(chs);//翻转后的字符串
下面是实际开发时使用例子:
在extjs提供的HtmlEditor的基础上进行优化,原有的HtmlEditor不支持图片上传,修改后的HtmlEditor代码如下:
HTMLEditor = Ext.extend(Ext.form.HtmlEditor, {
addImage : function() {
var editor = this;
var imgform = new Ext.FormPanel({
region : 'center',
labelWidth : 55,
frame : true,
bodyStyle : 'padding:5px 5px 0',
autoScroll : true,
border : false,
fileUpload : true,
items : [
{
xtype : 'textfield',
fieldLabel : '选择文件',
name : 'userfile',
inputType : 'file',
allowBlank : false,
blankText : '文件不能为空',
height : 25,
anchor : '90%'
}
],
buttons : [
{
text : '上传',
type : 'submit',
handler : function() {
if (!imgform.form.isValid()) {
return;
}
imgform.form.submit({
waitMsg : '正在上传',
url : 'EditImg.jsp',
success : function(form, action) {
var element = document.createElement("img");
var responseArray = Ext.util.JSON.decode(action.response.responseText);
if (responseArray.success) {
var qty = responseArray.fileURL; //注意此处是如何从后台jsp页面获取参数的(同时jsp页面是如何向js页面传参数的,后面的jsp页面代码有标注)
element.src = qty;
editor.insertAtCursor(element.outerHTML);
win.hide();
}
}
});
}
},
{
text : '关闭',
type : 'submit',
handler : function() {
win.close(this);
}
}
]
})
var win = new Ext.Window({
title : "上传图片",
width : 300,
height : 200,
modal : true,
border : false,
iconCls : "img.gif",
layout : "fit",
items : imgform
});
win.show();
},
createToolbar : function(editor) {
HTMLEditor.superclass.createToolbar.call(this, editor);
this.tb.insertButton(16, {
cls : "x-btn-icon",
icon : "img.gif",
handler : this.addImage,
scope : this
});
}
});
Ext.reg('StarHtmleditor', HTMLEditor);
有了以上这些,然后调用StarHtmleditor即可在原有的htmleditor组件中显示一个图片按钮控件,如果仅做这些还不够,还要看图片的存储位置,在以下jsp代码中调用了好多特殊方法,值得借鉴:
<%@ page import="static com.wlcsp.project.core.AppService.getappService" %>
<%@ page import="com.wlcsp.project.core.AppRequest" %>
<%@ page import="com.wlcsp.project.core.AppTemplate" %>
<%@ page import="com.wlcsp.project.bean.frameapp.kms.KmsDocument" %>
<%@ page import="com.wlcsp.project.bean.frameapp.kms.KmsDocumentAttachment" %>
<%@ page import="java.sql.Timestamp" %>
<%@ page import="com.wlcsp.project.biz.SMBManager" %>
<jsp:useBean id="mySmartUpload" scope="page" class="com.jspsmart.upload.SmartUpload"/>
<%
final AppTemplate template = new AppTemplate(request, response, config, pageContext);
final AppRequest req = new AppRequest(request);
%>
<%
mySmartUpload.init(config);
mySmartUpload.service(request, response);
mySmartUpload.upload();
String filepath = "";
String filename = "";
String fileurl = "";
String name = "";
String systemname = "";
for (int i = 0; i < mySmartUpload.getFiles().getCount(); i++) {
com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(i);
if (!myFile.isMissing()) {
filename = myFile.getFileName();
name = myFile.getFileName();
int filesize = myFile.getSize();
Timestamp timestamp = new Timestamp(System.currentTimeMillis());
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyyMMdd");
String creattime = sdf.format(timestamp);
systemname = creattime + name;
myFile.saveAs("/docfile/kms/" + systemname);
String s = template.getRealPath("/");
StringBuilder sb = new StringBuilder(s);
s = sb.reverse().toString();
s = s.substring(2, s.length());
sb = new StringBuilder(s);
s = sb.reverse().toString();
String path = SMBManager.getConfig().getKmsfile();
String templateFileName = s + path;
templateFileName = templateFileName + systemname;
templateFileName = templateFileName.replace("//", "/");
fileurl = "E:/svn/new/Project/web/docfile/kms/" + systemname;
out.print("{success:true,fileURL:'" + templateFileName + "'}");
}
}
%>
replace和replaceAll是JAVA中常用的替换字符的方法,它们的区别是:
1)replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharSequence即字符串序列的意思,说白了也就是字符串);
2)replaceAll的参数是regex,即基于规则表达式的替换,比如,可以通过replaceAll("//d", "*")把一个字符串所有的数字字符都换成星号;
相同点是都是全部替换,即把源字符串中的某一字符或字符串全部换成指定的字符或字符串,如果只想替换第一次出现的,可以使用 replaceFirst(),这个方法也是基于规则表达式的替换,但与replaceAll()不同的是,只替换第一次出现的字符串;
另外,如果replaceAll()和replaceFirst()所用的参数据不是基于规则表达式的,则与replace()替换字符串的效果是一样的,即这两者也支持字符串的操作;
还有一点注意:执行了替换操作后,源字符串的内容是没有发生改变的.
举例如下:
String src = new String("ab43a2c43d");
System.out.println(src.replace("3","f"));=>ab4f2c4fd.
System.out.println(src.replace('3','f'));=>ab4f2c4fd.
System.out.println(src.replaceAll("//d","f"));=>abffafcffd.
System.out.println(src.replaceAll("a","f"));=>fb43fc23d.
System.out.println(src.replaceFirst("//d,"f"));=>abf32c43d
System.out.println(src.replaceFirst("4","h"));=>abh32c43d.
如何将字符串中的"/"替换成"//":
String msgIn;
String msgOut;
msgOut=msgIn.replaceAll("////","////////");
原因:
'/'在java中是一个转义字符,所以需要用两个代表一个。例如System.out.println( "//" ) ;只打印出一个"/"。但是'/'也是正则表达式中的转义字符(replaceAll 的参数就是正则表达式),需要用两个代表一个。所以:////被java转换成//,//又被正则表达式转换成/。
同样
CODE: ////////
Java: ////
Regex: //
将字符串中的'/'替换成'/'的几种方式:
msgOut= msgIn.replaceAll("/", "////");
msgOut= msgIn.replace("/", "//");
msgOut= msgIn.replace('/', '//');
发表评论
-
iText watermark(pdf 新增水印,有一页总是新增不了)
2015-10-21 12:11 976pdf 新增水印,有个总是新增不了:水印能选中,但是就是不 ... -
JDBC userenv('LANG')
2015-08-25 15:51 1390select userenv('LANGUAGE') ,us ... -
回调函数理解
2013-05-17 17:07 999http://www.cnblogs.com/wangche ... -
JAVA5线程并发库[8]-Exchanger(转)
2011-12-21 10:18 956用于实现两个线程之间的数据交换,每个人在完成一定的事务 ... -
Annotation 的作用
2011-12-05 15:51 1184JDK1.5开始,Java中增加了对元数据(Meta ... -
Java 泛型参数类型理解
2011-11-19 16:03 8814<1>泛型参数类型限制 (1) ... -
THINKING IN JAVA(4TH) 答案免費分享 chapter 12 Error Handing With Exceptions
2011-11-03 21:37 3005// exceptions/Ex1.java// TIJ4 ... -
THINKING IN JAVA(4TH) 答案免費分享 chapter 11 Holding Your Object
2011-10-30 20:02 1960// holding/Ex1.java// TIJ4 Ch ... -
THINKING IN JAVA(4TH) 答案免費分享 chapter 10 Inner Classes
2011-10-21 13:56 1853// innerclasses/Outer1.java// T ... -
访问控制作用
2011-10-07 16:55 966进来学习 《Think in Java》很多Java的思想观点 ... -
写一个方法,输入一个文件名和一个字符串,统计这个字符串在这个文件中出......
2011-08-02 11:16 1967写一个方法,输入一个文 ... -
java.lang.Math.round()学习
2011-07-29 23:16 2902<!-- 正文开始 --> public c ... -
Java Socket编程的详细介绍-2
2011-07-29 10:36 959客户机代码: import java.net.*; i ... -
Java Socket编程的详细介绍-1
2011-07-29 10:33 799事实上网络编程简单的理解就是两台计算机相互通讯数据而已.对于程 ... -
操作符“==”与对象的equals()方法
2011-07-27 14:52 1241很多时候都会用到类型或者是对象是否相等的比较应用,需要 ... -
Java反射机制
2011-07-21 11:00 762Java提供了一套机制来动态执行方法和构造方法,以及 ... -
Error与Exception有什么区别?
2011-07-20 23:26 2534Error(错误)表示系统级的错误和程序不必处理的异 ... -
StringBuffer与StringBuilder
2011-06-24 11:38 822<1>StringBuffer 线程安全的可变 ...
相关推荐
利用java实现求某个字符串正向和反向的最大公共字符串,如ABCDCBA输出ABCDCBA,ABCDE输出A因为A是第一个,ABCDEDC输出CDEDC.
在编写Java代码时,如果字符串过长,比如长篇幅的HTML代码或者SQL语句,就很难用一对双引号括起来,因为在java中,字符串常量是不能换行的。这种初期开发时,临时模拟中间数据测试非常不方面。本工具用于把多行长...
C#中,字符串传为16进制是非常使用的算法,如在一些特定是情况下,我们无法储存或传递中文字符串,这时候可以将他转为16进制使用,需要时再将其逆转回来。
是个简单的C语言写的递归实现字符串反向输出。
汇编 实现输入一串字符串,以反向显示出来。
c#中 base64字符串与普通字符串互转,转成 Base64 形式的...
用c语言写的字符串的反向输出 没什么用 得分就行
C语言程序设计-将主函数中输入的字符串反序存放;例如:输入字符串“abcdefg”,则应输出“gfedcba”;.c
使用Java编写的反向代理程序(源代码),通过简单的参数配置即可实现某些特定站点的反向代理,并在此过程中改变一些站点的特定行为。例如:允许特点站点跨域访问被代理的站点,或者屏蔽被代理站点识别请求访问客户端...
今天小编就为大家分享一篇python 反向输出字符串的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
这是LabVIEW以字符串倒序的形式来快速读取文本最后一行的源程序。详见本人博客:https://blog.csdn.net/jaysur/article/details/99226617
一个小程序,实现字符串的逆序和调序输出。
字符串逆序的几种方法 1.普通逆序 分配一个与原字符串等长的字符数组; 反向拷贝一下即可。 char* reverseString(char* s) { //将q指向字符串最后一个字符 char* q = s ; while( *q ) { q++; } q -= 1 ; ...
在python中输入字符串通过递归筛选等操作,将字符串反向打印
设计一个字符串排序输出程序:从键盘上接收用户输入的若干行字符串(最多20行,每行最多100个字符),当输入“end”时表示输入结束。将输入的字符串按从小到大的顺序输出。
主要介绍了Java实现的简单字符串反转操作,结合实例形式分别描述了java遍历逆序输出以及使用StringBuffer类的reverse()方法两种字符串反转操作技巧,需要的朋友可以参考下
该资源主要包含“Java编写的反向代理程序”相关的使用说明文档和演示文档【通过简单的参数配置即可实现某些特定站点的反向代理,并在此过程中改变一些站点的特定行为。】 编译版资源下载地址:...
字符逆向转换 字符倒序排列 字条串倒序 字符反向排序 字符逆向排序
使用React制作的前端使用我们的反向API,并显示反向字符串 重要文件夹 app/axios包含进行api调用的Axios实例。 app/components包含用于容器或屏幕的React函数组件。 app/containers包含作为Web应用程序页面的React...