java代码554的简单介绍

java解析lrc文件代码

lrc可以通过如下util工具类进行转换,如果想知道结果是否读取的有问题,可以直接用记事本打开lrc文件的,之后和输出结果比对一下就行。

来凤ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!

package com.routon.utils;

import java.io.BufferedReader;

import java.io.FileInputStream;

import java.io.IOException;

import java.io.InputStreamReader;

import java.util.ArrayList;

import java.util.List;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

import android.util.Log;

/**

* parse lrc file tool

* eg:

* utilLrc lrc = new utilLrc("/sdcard/test.lrc");

* get song name : String title = lrc.getTitle();

* get performer name : String artist = lrc.getArtist();

* get album name: String album = lrc.getAlbum();

* get lrcmaker name: String lrcMaker = lrc.getLrcMaker();

* get song list: ListStatement list = lrc.getLrcList();

*

* @author xuweilin

*

*/

public class utilLrc {

private static String TAG = "utilLrc";

public class Statement {

private double time = 0.0; //time, 0.01s

private String lyric = ""; //song word

/*

* get time

*/

public double getTime() {

return time;

}

/*

* set time

*/

public void setTime(double time) {

this.time = time;

}

/*

* set time.format:mm:ss.ms

*/

public void setTime(String time) {

String str[] = time.split(":|\\.");

this.time = Integer.parseInt(str[0])*60+Integer.parseInt(str[1])+Integer.parseInt(str[2])*0.01;

}

/*

* get lrc word

*/

public String getLyric() {

return lyric;

}

/*

* set lrc word

*/

public void setLyric(String lyric) {

this.lyric = lyric;

}

}

private BufferedReader bufferReader = null;

private String title = "";

private String artist = "";

private String album = "";

private String lrcMaker = "";

private ListStatement statements = new ArrayListStatement();

/*

*

* fileName

*/

public utilLrc(String fileName) throws IOException{

FileInputStream file = new FileInputStream(fileName);

bufferReader = new BufferedReader(new InputStreamReader(file, "utf-8"));

readData();

}

/*

* read the file

*/

private void readData() throws IOException{

statements.clear();

String strLine;

while(null != (strLine = bufferReader.readLine()))

{

if("".equals(strLine.trim()))

{

continue;

}

if(null == title || "".equals(title.trim()))

{

Pattern pattern = Pattern.compile("\\[ti:(.+?)\\]");

Matcher matcher = pattern.matcher(strLine);

if(matcher.find())

{

title=matcher.group(1);

continue;

}

}

if(null == artist || "".equals(artist.trim()))

{

Pattern pattern = Pattern.compile("\\[ar:(.+?)\\]");

Matcher matcher = pattern.matcher(strLine);

if(matcher.find())

{

artist=matcher.group(1);

continue;

}

}

if(null == album || "".equals(album.trim()))

{

Pattern pattern = Pattern.compile("\\[al:(.+?)\\]");

Matcher matcher = pattern.matcher(strLine);

if(matcher.find())

{

album=matcher.group(1);

continue;

}

}

if(null == lrcMaker || "".equals(lrcMaker.trim()))

{

Pattern pattern = Pattern.compile("\\[by:(.+?)\\]");

Matcher matcher = pattern.matcher(strLine);

if(matcher.find())

{

lrcMaker=matcher.group(1);

continue;

}

}

int timeNum=0;

String str[] = strLine.split("\\]");

for(int i=0; istr.length; ++i)

{

String str2[] = str[i].split("\\[");

str[i] = str2[str2.length-1];

if(isTime(str[i])){

++timeNum;

}

}

for(int i=0; itimeNum;++i)

{

Statement sm = new Statement();

sm.setTime(str[i]);

if(timeNumstr.length)

{

sm.setLyric(str[str.length-1]);

}

statements.add(sm);

}

}

sortLyric();

}

/*

* judge the string is or not date format.

*/

private boolean isTime(String string)

{

String str[] = string.split(":|\\.");

if(3!=str.length)

{

return false;

}

try{

for(int i=0;istr.length;++i)

{

Integer.parseInt(str[i]);

}

}

catch(NumberFormatException e)

{

Log.e(TAG, "isTime exception:"+e.getMessage());

return false;

}

return true;

}

/*

* sort the word by time.

*/

private void sortLyric()

{

for(int i=0;istatements.size()-1;++i)

{

int index=i;

double delta=Double.MAX_VALUE;

boolean moveFlag = false;

for(int j=i+1;jstatements.size();++j)

{

double sub;

if(0=(sub=statements.get(i).getTime()-statements.get(j).getTime()))

{

continue;

}

moveFlag=true;

if(subdelta)

{

delta=sub;

index=j+1;

}

}

if(moveFlag)

{

statements.add(index, statements.get(i));

statements.remove(i);

--i;

}

}

}

/**

* get title

* @return

*/

public String getTitle(){

return title;

}

/**

* get artist

* @return

*/

public String getArtist(){

return artist;

}

/**

* get album

* @return

*/

public String getAlbum(){

return album;

}

/**

* get lrc maker

* @return

*/

public String getLrcMaker(){

return lrcMaker;

}

/**

* get song list

* @return

*/

public ListStatement getLrcList(){

return statements;

}

}

java发送邮件时出现的错误,端口什么的都开了

今天在做内网邮箱发送功能时报如下错误:

554 Relay rejected for policy reasons.

测试时给内容邮箱发送正常,给126发送就报如上错误,后来查看是权限限制的问题。

在网上查找到邮件发送时的常见问题总结,备注一下。

介绍邮件系统常见的错误代码及解释,还有客户端报错相关信息

按照下列“Q”代表问题,“A”代表解答。

Q:the server says:550 relaying mail to is not allowed

Q:The server says:550 ... relaying denied

Q:the server says:550 5.7.1 relaying not permitted:

A:使用某些Smtp服务器时,限制了收件人的地址,只能换一个Smtp服务器。

Q:The server says:550 :local user only

Q:The server says:550 :Invalid User

Q:The server says:550 Invalid recipient

A:使用163.NET,163.com,yeah.Net和netease.com之类的Smtp服务器时,只能用自身的信箱发信,所以要在Outlook Express的“帐户属性”中的“个人信息”里面填写正确的邮件地址。

Q:the server says:551 delivery not allowed to non-local recipient

Q:The server says:553 Relay restriction.

Q:The server says:553 From , message blocked.

Q:The server says:553 sorry,you are not allow to use this SMTP to relay your eami

Q:The server says:553 sorry, that domain isn't in my list of allowed rcpthosts

A:使用21cn.com,china.com,371.net,sina.com等大多数信箱的smtp服务器时,只能用自身的信箱发信,所以要在Outlook Express的“帐户属性”中的“个人信息”里面填写正确的邮件地址。

Q:The server says:505 client was not authenticated

Q:The server says:553 authentication is required to send mail as

A:使用263.net和sohu.com的Smtp服务器时,不但要用自身的邮箱发信,而且要加入身份验证,所以即要在“个人信息”中填写正确邮箱地址,又要选中“SMTP服务器需要认证”。

Q:The server says:535 Error:authenticatin failed

Q:The server says:535 Authentication unsuccessful

Q:The server says:452 Insufficient system storage

A:在使用Esmtp认证的过程中出错,检查一下Esmtp设置,多试几次。

Q:The server says:553 ...domain name required

Q:The server says:550 Unable to relay for ...

A:多出现在用Wingate代理服务器发送邮件时。虽然在Wingate中“POP3 邮箱帐号”要使用“用户名#POP3地址”的格式,但在“帐户属性”中的“个人信息”中还是要填写一般的格式。

Q:The server says:553 mailbox name not allowed

A:收件人邮箱地址不允许,需检查收件人地址是否正确。

Q:the server says:553 sorry, your envelop sender is in my badmailfrom list

A:服务器限制了收件人的地址,只能换一个smtp服务器发信。

Q:the server says:554 Transaction failed

Q:The server says:451 Requested action aborted,errno=28

A:传输失败,检查网络问题。

Q:the server says:503 error:needmail command

Q:The server says:503 need mail before RCPT.

Q:The server says:503 Bad sequence of commands

A:消息命令顺序出错,一般出现在其他错误之后,先检查之前出现的错误提示。

Q:The Server says:501 syntax.helo hostname

Q:The server says:501 Invalid domain name

Q:The server says:502 unimplemented command

Q:the server says:503 5.0.0 polite people say HELO first

Q:The server says:533 relay restriction

Q:The server says:544 :Recipient address rejected: Relay access denied

A:传输中的语法错误,原因不明。

连接服务器错误,请检查您的网络设置。如果安装防火墙/杀毒软件,请检查防火墙/杀毒软件是否允许DreamMail程序访问 Internet。

账号“xxx”发送邮件错误,错误代码:554;错误信息:554 Relay rejected for policy reasons.(检查邮件系统是否有发送外网邮箱的权限)

附相关资料

SMTP 有一组固定的响应代码,表示邮件服务器对于传送邮件要求的响应状况。其中 421、450、451、452、550、551、552、553、554 等 9 组代码表示您要求邮件服务器执行的动作不成功。

354

Start Mail input

开始传输邮件正文

421

domain Service not available, closing transmission channel

括号内的主机无法提供正常服务,关闭传送管道,邮件将滞留在主机上

440

邮件址错误

445

Server Rejected

被封锁

450

Client host rejected, Cannot resolve PTR

Temporary Process Error

Resource temporarily unaviable,please try again later

Requested mail action not taken: mailbox unavailable

无法 IP 反查

Requested mail action not taken: mailbox unavailable

所要求的邮件动作无法执行:邮件信箱无法提供服务,邮件将滞留在主机上

451

Domain of sender address sender@mail.com.tw does not resolve

qq trouble creating files in queue (#4.3.0)

queuename: Cannot create "qfCAA21081" in "/var/spool/mqueue" (euid=0): No space left on device

Requested action aborted, errno=28.

无法解析寄件者邮件地址

Requested action aborted: local error in processing

要求动作中断:本地端错误

Requested action aborted,errno=28

传送失败,检查网络问题。

452

Message for would exceed mailbox quota

Requested action not taken: insufficient system storage

要求动作无法执行:系统空间不足

Insufficient system storage

在使用Esmtp认证的过程中出错,检查一下Esmtp设置,多试几次。

454

Client was not authenticated

安全因素,被封锁

472

sender@mail.com.tw no DNS A-data returned

无法 IP 反查

501

Domain of sender address sender@mail.com.tw does not exist

无法 IP 反查

Mailbox not found

5.1.1 ... User unknown

无此使用者

Syntax error,parameters in command "RCPT TO:min@laohuyatse.com.tw"unrecognized or missing

no local part

Syntax error in recipient:

"@" or "." expected after "CC"

"@" or "." expected after "fau" :

email格式l错误

503

Either sender or receiver must be local account.

安全因素,权限不足

CAT@MAIL.FORTEK.COM.TW

无此使用者,不是本主机转送信件的使用者

error:needmail command

need mail before RCPT

Bad sequence of commands

消息命令顺序出错,一般出现在其他错误之后,先检查之前出现的错误提示。

5.0.0 polite people say HELO first

传输中的语法错误,原因不明

505

client was not authenticated

使用263.net和sohu.com的Smtp服务器时,不但要用自身的邮箱发信,而且要加入身份验证,所以即要在"个人信息"中填写正确邮箱地址,又要选中"SMTP服务器需要认证"。

521

This system is configured to reject mail from 211.20.70.148

安全因素,被封锁

535

Error:authenticatin failed

Authentication unsuccessful

在使用Esmtp认证的过程中出错,检查一下Esmtp设置,多试几次。

550

unknown user

User unknown

Invalid User

Recipient unknown

Mailbox disabled for this recipient

Unknown local part

Invalid recipient

Unable to relay for no such user

Recipient unknown

This account is not allowed

recipient unknown

No such mail drop defined,user disabled

I don't know

Relaying is prohibited

Relaying denied

relaying mail to is not allowed

... relaying denied

5.7.1 relaying not permitted:

REJECT SMTP Protocol Returned a Permanent Error 550 Forwarding percent hack is not permitted

Requested action not taken: mailbox unavailable

无此使用者,所要求动作无法执行:信箱不存在,邮件将退回给寄件者,或者限制了收件人的地址,只能换一个Smtp服务器。

System is busy

邮件系统错误

Subj similar too many!!

太多同主题信件

Relaying denied. IP name lookup failed

IP name lookup failed

DNS FAILURE

cannot route to sender address

无法 IP 反查

Relaying denied

Mailbox unavailable: This site may not be used as a relay agent.

无法转寄

:local user only

:Invalid User

Invalid recipient

使用163.net,163.com,yeah.net和netease.com之类的Smtp服务器时,只能用自身的信箱发信,所以要在Outlook Express的"帐户属性"中的"个人信息"里面填写正确的邮件地址。

Unable to relay for ...

多出现在用Wingate代理服务器发送邮件时。虽然在Wingate中"POP3 邮箱帐号"要使用"用户名#POP3地址"的格式,但在"帐户属性"中的"个人信息"中还是要填写一般的格式。

551

we do not relay ...

delivery not allowed to non-local recipient

无法转寄,使用21cn.com,china.com,371.net,sina.com等大多数信箱的smtp服务器时,只能用自身的信箱发信,所以要在Outlook Express的"帐户属性"中的"个人信息"里面填写正确的邮件地址。

User not local; please try forward-path

邮件服务器知道使用者不属于本地端,将尝试括号内的转送路径

552

Requested mail action aborted: exceeded storage allocation

所要求的动作中断:超出所分配的储存空间,邮件将退回给寄件者

Sorry, we don't allow mail from your host.

被封锁

553

sorry, that domain isn't in my list of allowed rcpthosts

mailbox name not allowed

邮件地址错误

Requested action not taken: mailbox name not allowed

sorry, your envelop sender is in my badmailfrom list

所要求的动作未执行:信箱不允许该动作执行 ,或者服务器限制了收件人的地址,只能换一个smtp服务器发信。

Relay restriction.

From , message blocked.

sorry,you are not allow to use this SMTP to relay your eami

sorry, that domain isn't in my list of allowed rcpthosts

使用21cn.com,china.com,371.net,sina.com等大多数信箱的smtp服务器时,只能用自身的信箱发信,所以要在Outlook Express的"帐户属性"中的"个人信息"里面填写正确的邮件地址。

authentication is required to send mail as

使用263.net和sohu.com的Smtp服务器时,不但要用自身的邮箱发信,而且要加入身份验证,所以即要在"个人信息"中填写正确邮箱地址,又要选中"SMTP服务器需要认证"。

...domain name required

多出现在用Wingate代理服务器发送邮件时。虽然在Wingate中"POP3 邮箱帐号"要使用"用户名#POP3地址"的格式,但在"帐户属性"中的"个人信息"中还是要填写一般的格式。

554

delivery error: dd This user doesn't have a yahoo.com account

delivery error: dd Sorry, your message to xxxxyahoo.com cannot be delivered. This account is over quota.

无此使用者

Transaction failed

传送失败,检查网络问题。

571

we don't accept junk mail (mail.sysnet.net.tw)

无效的寄件者

java编码规范有哪些?

尽量使用完整的英文描述符,采用适用于相关领域的术语,采用大小写混合使名字可读。

JAVA代码规范:

(1)类名首字母应该大写。字段、方法以及对象(句柄)的首字母应小写。对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母。例如:

ThisIsAClassName

thisIsMethodOrFieldName

若在定义中出现了常数初始化字符,则大写static final基本类型标识符中的所有字母。这样便可标志出它们属于编译期的常数。Java包(Package)属于一种特殊情况:它们全都是小写字母,即便中间的单词亦是如此。对于域名扩展名称,如com,org,net或者edu等,全部都应小写(这也是Java1.1和Java1.2的区别之一)。

(2)为了常规用途而创建一个类时,请采取"经典形式",并包含对下述元素的定义:equals()

hashCode()

toString()

clone()(implement Cloneable)

implement Serializable

(3)对于自己创建的每一个类,都考虑置入一个main(),其中包含了用于测试那个类的代码。为使用一个项目中的类,我们没必要删除测试代码。若进行了任何形式的改动,可方便地返回测试。这些代码也可作为如何使用类的一个示例使用。

(4)应将方法设计成简要的、功能性单元,用它描述和实现一个不连续的类接口部分。理想情况下,方法应简明扼要。若长度很大,可考虑通过某种方式将其分割成较短的几个方法。这样做也便于类内代码的重复使用(有些时候,方法必须非常大,但它们仍应只做同样的一件事情)。

(5)设计一个类时,请设身处地为客户程序员考虑一下(类的使用方法应该是非常明确的)。然后,再设身处地为管理代码的人考虑一下(预计有可能进行哪些形式的修改,想想用什么方法可把它们变得更简单)。

(6)使类尽可能短小精悍,而且只解决一个特定的问题。下面是对类设计的一些建议:

一个复杂的开关语句:考虑采用"多形"机制

数量众多的方法涉及到类型差别极大的操作:考虑用几个类来分别实现

许多成员变量在特征上有很大的差别:考虑使用几个类

(7)让一切东西都尽可能地"私有"-private。可使库的某一部分"公共化"(一个方法、类或者一个字段等等),就永远不能把它拿出。若强行拿出,就可能破坏其他人现有的代码,使他们不得不重新编写和设计。若只公布自己必须公布的,就可放心大胆地改变其他任何东西。在多线程环境中,隐私是特别重要的一个因素-只有private字段才能在非同步使用的情况下受到保护。

(8)谨惕"巨大对象综合症。对一些习惯于顺序编程思维、且初涉OOP领域的新手,往往喜欢先写一个顺序执行的程序,再把它嵌入一个或两个巨大的对象里。根据编程原理,对象表达的应该是应用程序的概念。

求一个简单java程序代码,谢谢

public class TestStar {

public static void main(String[] args) {

String star = "*";

for (int i = 0; i 5; i++) {

if (i == 0) {

System.out.print(" " + star);

System.out.println();

}

if (i == 1) {

for (int z = 0; z 4; z++) {

System.out.print(" " + star);

}

System.out.println();

}

if (i == 2) {

System.out.print(" ");

for (int x = 0; x 3; x++) {

System.out.print(" " + star);

}

System.out.println();

}

if (i == 3) {

for (int y = 0; y 2; y++) {

System.out.print(" " + star + " ");

}

}

}

}

}

是好使的 但是我没找到画五角星有什么规律(五角星好象不是正规图形吧?)如果还有什么要求的话 补充问题(如果是用*填充所有的东西 不包括 “ ”的话 我可以重新再给你写一个)


网页题目:java代码554的简单介绍
链接URL:http://hbruida.cn/article/hoidic.html