社区
Java SE
帖子详情
急急...送分。。关于JSP的错误:java.lang.StringIndexOutOfBoundsException: String index out of range: -1??
BlankMe
2003-05-05 01:09:00
在一个FOR循环中,我至少调用了十多个String类型,运行JSP程序有的时候可以执行,
有时出现错误:
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
怎样释放String?? 怎样解决这个错误??
...全文
321
7
打赏
收藏
急急...送分。。关于JSP的错误:java.lang.StringIndexOutOfBoundsException: String index out of range: -1??
在一个FOR循环中,我至少调用了十多个String类型,运行JSP程序有的时候可以执行, 有时出现错误: java.lang.StringIndexOutOfBoundsException: String index out of range: -1 怎样释放String?? 怎样解决这个错误??
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fuzhan820
2003-07-11
打赏
举报
回复
up
java_alias
2003-05-05
打赏
举报
回复
java.lang.StringIndexOutOfBoundsException一般情况下在index<0,substring(i,j)的i>=j, i<0, j>length()时被触发...
昨天加了一夜的班, 有点晕...看代码没什么状态...抱歉!
建议, 每次调用的时候打印index, 把整块代码加到try里面,打印exception.printStackTrace(), 看看具体行数...
BlankMe
2003-05-05
打赏
举报
回复
for(int i=0; i<messages.length; i++)
{
int InboxID=i+InboxMsgTotalNum+1; //要存储的邮件在INBOX的位置
javax.mail.Address[] addr=messages[i].getFrom();
String senderAddr=new String();
senderAddr=addr[0].toString();
senderAddr.trim();
int start=senderAddr.indexOf("<");
int end=senderAddr.indexOf(">");
String sender=new String();
sender=senderAddr.substring(start+1, end); // 获得发送者地址
String subject=new String();
subject=messages[i].getSubject();
Object MsgContent = messages[i].getContent();
MsgContent = messages[i].getContent(); //怎样存储到数据库中?????
//邮件的内容出错:javax.mail.internet.MimeMultipart@4d2197
java.text.Format formatter = new java.text.SimpleDateFormat("yyyy-MM-dd hh:mm");
String sendtime=new String();
sendtime=formatter.format(messages[i].getSentDate());
out.println(sendtime);
int size=messages[i].getSize();
//执行数据库插入操作
String ConnInsert =new String();
ConnInsert = "jdbc:odbc:webmail"; //数据源
Connection connectInsert =null;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(java.lang.ClassNotFoundException e) {
System.err.println( e.getMessage());
}
try {
//连接数据库
connectInsert = DriverManager.getConnection(ConnInsert,logName,passwd);
Statement stmtInsert = connectInsert.createStatement();
String sqlInsert=new String();
//sqlInsert="insert into INBOX(ID,userID,sender,subject,size)";
//sqlInsert+=" values('"+InboxID+"','"+userID+"','"+sender+"','"+subject+"','"+size+"')";
sqlInsert="insert into INBOX(ID,userID,sender,subject,sendtime,content,size)";
sqlInsert+=" values('"+InboxID+"','"+userID+"','"+sender+"','"+subject+"','"+sendtime+"','"+contents+"','"+size+"')";
stmtInsert.executeUpdate(sqlInsert);
}
catch(SQLException ex) {
System.err.println(ex.getMessage());
}
/****************** 判断是否附件 ************************/
if(messages[i].isMimeType("multipart/*")) //附件
{
FetchProfile fp=new FetchProfile();
fp.add(FetchProfile.Item.ENVELOPE);
fp.add(FetchProfile.Item.FLAGS);
fp.add("X-Mailer");
folder.fetch(messages,fp);
Object content=messages[i].getContent();
Multipart multipart = (Multipart)content;
for (int c=0, n=multipart.getCount(); c<n; c++)
{
Part part = multipart.getBodyPart(c);
//String msg=getStr(part.getContent());
/***StringBuffer buf=new StringBuffer(msg.length()+6);
char ch=' ';
for(int u=0;u<msg.length();u++)
{
ch=msg.charAt(u);
if(ch=='\n')buf.append("");
else buf.append(ch);
}
String mm = buf.toString(); ********/
// out.println(new String(mm.getBytes("iso-8859-1"),"gb2312"));
String disposition = null;
disposition = part.getDisposition();
if ( disposition != null &&(disposition.equals(Part.ATTACHMENT) || disposition.equals(Part.INLINE)))
{
//String fileName=getStr(part.getFileName()); //转换成中文GB2313
String fileName=null,AttachName =new String();
fileName=part.getFileName();
AttachName =fileName; //附件文件名
InputStream inputstream=part.getInputStream();
if(fileName==null)
{
fileName=File.createTempFile("attachment",".out").getName();
}
String filePath=new String();
filePath="c:\\MailAttachment\\"+username+"\\" ; // 存储路径
fileName=filePath+fileName;
File file=new File(fileName);
for(int j=0;file.exists();j++)
{
file=new File(fileName+j);
}
FileOutputStream fileoutputstream =new FileOutputStream(file);
BufferedOutputStream bufferedoutputstream =new BufferedOutputStream(fileoutputstream);
BufferedInputStream bufferedinputstream =new BufferedInputStream(inputstream);
int m;
while ((m=bufferedinputstream.read())!=-1)
bufferedoutputstream.write(m);
//save the filename
String SqlUpdate=new String();
SqlUpdate="UPDATE INBOX SET AttachmentName='"+AttachName+"',AttachmentPath='"+filePath+"' ";
SqlUpdate+="WHERE ID='"+InboxID+"'"; //InboxID
executeUpdateSql(SqlUpdate);
bufferedoutputstream.flush();
bufferedoutputstream.close();
bufferedinputstream.close();
}
}
//out.println("Attachment2");
}
connectInsert.close();
} //FOR 循环结束
coolboy
2003-05-05
打赏
举报
回复
是数组越界了。
java_alias
2003-05-05
打赏
举报
回复
把代码贴上来看看
yoken
2003-05-05
打赏
举报
回复
数组越界
Philzzf
2003-05-05
打赏
举报
回复
数组越界了
比如
String[] s = {"1","2","3","4","5"};
System.out.println(s[5]);
这样就错了,编译能通过,但运行时会异常
String
index
out of 4解决方法
###
String
index
out of 4解决方法 在编程中,尤其是使用
Java
进行字符串处理时,经常会遇到`
String
Index
OutOfBoundsException
`异常。这种异常通常发生在试图访问一个不存在的字符串索引时。例如,如果尝试访问一个...
代码折叠工具 For Eclipse ——修复版
java
.
lan
g.
String
Index
OutOfBoundsException
:
String
index
out of
range
: 45 at
java
.
lan
g.
String
.charAt(Unknown Source) at com.cb.eclipse.folding.
java
.calculation.UserDefinedRegionHelper.isSentinel...
java
.
lan
g.
String
Index
OutOfBoundsException
:
String
index
out of
range
: -1
字符串截取下标越界 出错代码 @GetMapping("/edit") //@RequiresPermissions("... public
String
edit(
String
enquiryNo,Model model){ EnquirySheetDO enquirySheet = enquirySheetService...
java
.
lan
g.
String
Index
OutOfBoundsException
:
String
index
out of
range
: 8
springboot报错 Servlet.service() for servlet [dispatcherServlet] in ... nested exception is
java
.
lan
g.
String
Index
OutOfBoundsException
:
String
index
out of
range
: 8] with root cause
java
.
lan
g.Str
MyBatis报错: Cause:
java
.
lan
g.
String
Index
OutOfBoundsException
:
String
index
out of
range
: -66 的解决方案
SpringBoot MyBatis报错: Cause:
java
.
lan
g.
String
Index
OutOfBoundsException
:
String
index
out of
range
: -66 的解决方案
Java SE
62,635
社区成员
307,269
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章