javalyric的简单介绍

博主:adminadmin 2022-11-30 20:44:10 72

今天给各位分享javalyric的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

请用java编程:

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.OutputStreamWriter;

public class Lyric2Text {

 

 public void doWork(String lyric) throws IOException{

  BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(lyric), "utf8"));

  BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(lyric.substring(0, lyric.lastIndexOf('.')) + ".txt"), "utf8"));

  String line;

  while((line = reader.readLine()) != null){

   line = line.replaceAll("\\[[0-9:\\.]+\\]", "");

   writer.write(line + "\n");

  }

  

  reader.close();

  writer.close();

 }

 

 public static void main(String[] args) throws IOException {

  Lyric2Text tmp = new Lyric2Text();

  tmp.doWork("C:\\Users\\admin\\Desktop\\一帘幽梦.lrc");

 }

}

JAVA是什么意思????

Java是一种简单的,跨平台的,面向对象的,分布式的,解释的,健壮的安全的,结构的中立的,可移植的,性能很优异的多线程的,动态的语言。

Java名称的由来

说起Java这个名称是怎么来的,在世界上还流传着不同版本的传说。

1.咖啡说

1995年,SUN公司和好莱坞准备开展一个技术交流会,皆以宣传公司的产品。James Gosling带着他的系统来到了技术交流会。但他不能用OAK这个名字了。OAK已经被一家半导体公司注册了,并且注册了好多领域,只能换名。James Gosling四处观望寻找灵感,他看到了一个泡咖啡的杯子,杯子上印着Java,James Gosling就把这种语言改名为Java。

2.度假说

1994年6、7月间,在经历了一场历时三天的头脑风暴的讨论后,Green团队决定再一次改变了努力的目标,这次他们决定将该技术应用于万维网。他们认为随着Mosaic浏览器的到来,因特网正在向同样的高度互动的远景演变,而这一远景正是他们在有线电视网中看到的。此时Green小组组员正在在印度尼西亚爪哇岛(Java)度假时,于是他们把Oak改名为Java。

3.简写说

Java命名来源于开发人员名字的组合:James Gosling、Arthur Van Hoff和Andy Bechtolsheim首字母的缩写。

4.头脑风暴说

关于Java命名的由来,James Gosling是曾经这样回答过Jonathan Schwartz,原文如下: 我们需要一个名字。我们已经使用了oak(那是我随机挑选的),然而当开发团队接触它的时候,这个商标已经被律师排除了。我们收到许多关于命名争论的电子邮件,但是问题没有解决。我们需要结束这种棘手的处境,阻挠我们前进的首要问题就是这命名。 我们市场部领导了解到某人是“命名顾问”(我不记得他的名字了,但是他是很棒)。我们既不可能提供金钱也不可能提供时间用于常规产品的命名过程。他同意做个临时的事,但是要高效和快捷:一天下午,我们大概十二个人将自己锁在一个房间内,他在会上充当一个主持人。他让我们写一些名称来做一个挑选。我们最终写了十二个候选名称,并且将其送达给律师团审阅。律师团看了列表,选定了能排出其它名称的候选项。“Java”是列表里的第四个名称。列表里的第一个名称是“Silk”,那是我讨厌但是其他人喜欢的名称。我最喜欢的是列表里的第三个名称“Lyric”,但是它没有通过律师团的审核。我不记得其它候选名称了。 为什么命名Java呢?市场部组织了一个会议,顾问提名,我们全体人员喊出随机的词语。说实话,我真的不确定谁最先说“Java”,但是我有很有把握说这人是Mark Opperman。 确实不存在任何杰出的市场理念能够通过一致的认可。

java解析lrc文件代码

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

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和咖啡有什么关系?

Java语言确实与咖啡有着不解之缘。这还得从它的命名说起。关于Java的命名来由,在美国硅谷地区有许多不同版本的故事。升阳公司(Sun Microsystems)的创建者和前CEO 简姆斯 古斯林(James Gosling)本人也加入了讲述这个故事的行列。最初这个为TV机顶盒所设计的语言在公司内部一直称为Green项目。“我们的新语言需要一个名字。” 简姆斯.古斯林一直在考虑这个问题。 有一天,简姆斯 古斯林注意到自己办公室外一棵茂密的橡树Oak,这是一种在硅谷很常见的树。所以他将这个新语言命名为Oak。但Oak是另外一个注册公司的名字。这个名字不可能再用了。如果通过正式程序来注册产品的名称将即费时又费钱。简姆斯 古斯林决定通过市场部门,请来了一个命名顾问,召开命名征集会。当时,因为没有一个合适的名字,他们不得不延后这个语言的面世。在命名征集会上,大家提出了很多名字。最后按大家的评选次序,将十几个名字排列成表,上报给商标律师。排在第一位的是Silk(丝绸)。尽管大家都喜欢这个名字,但遭到简姆斯 古斯林的坚决反对而作罢。排在第二和第三的都没有通过律师这一关。简姆斯 古斯林最喜欢的就是排在第三位的Lyric(抒情诗)。只有排在第四位的名字、得到了所有人的认可和律师的通过。这个名字就是Java。是谁在命名征集会上提议Java的呢? 简姆斯 古斯林回忆道,“市场部组织了命名会,命名顾问主持了会议,我们喊叫着列出了一大堆名字。我记得第一个提议名字Java的是马克 奥颇门(Mark Opperman)。”马克 奥颇门是在一家咖啡店与同事品尝咖啡时得到灵感的。Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名。国外的许多咖啡店用Java来命名或宣传,以彰显其咖啡的品质。Java语言中的许多库类名称,多与咖啡有关,如JavaBeans(咖啡豆)、NetBeans(网络豆)以及ObjectBeans (对象豆)等等。从此一个即好听又好记、具有强大的生命力的编程语言Java诞生了。

求教,急用!JAVA按歌词文件的时间标签从小到大排列内容,然后最好能给我做个方法,让我直接调用,排

你好,这是你要的方法,直接输入路径调用就可以了,输出结果是sorted-加原文件名

/**

 * 根据路径和编码 重新排列歌词中的文件,转换后的文件是“sorted-原文件”

 *

 * @param source 原文件

 */

public static void sortLyric(String source) {

    try {

        BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(source), "UTF-8"));

        ListString lines = new ArrayListString();

        String line;

        while ((line = br.readLine()) != null) {

            lines.add(line);

        }

        br.close();

        Collections.sort(lines);

        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("sorted-" + source, false), "UTF-8"));

        for (String everyLine : lines) {

            bw.write(everyLine);

            bw.newLine();

            bw.flush();

        }

        bw.close();

    } catch (Exception e) {

        e.printStackTrace();

    }

}

Java为什么是一个咖啡标志?

1.第一个版本

2000年度的JavaOne国际会议大厅热闹非凡,一阵阵浓郁的咖啡味儿香气扑鼻。从世界各地汇集到旧金山参加会议的Java精英们兴奋异常,排着长队,等待得到一杯由Java语言控制的咖啡机煮制的免费咖啡。这是一个特殊设计的全透明咖啡机。当您按下按钮时,咖啡豆从玻璃管输送到研磨器。磨制后的咖啡粉由另一个玻璃管送到煮制机。沸腾的水滴入咖啡粉中,一杯醇香四溢的咖啡传送到您的手中…由此可见JAVA和咖啡有着不解之缘。

2.第二个版本

最初这个为TV机顶盒所设计的语言在公司内部一直称为Green项目。“我们的新语言需要一个名字。” 简姆斯.古斯林一直在考虑这个问题。 有一天,简姆斯·古斯林注意到自己办公室外一棵茂密的橡树Oak,这是一种在硅谷很常见的树。所以他将这个新语言命名为Oak。但Oak是另外一个注册公司的名字。这个名字不可能再用了。如果通过正式程序来注册产品的名称将既费时又费钱。简姆斯·古斯林决定通过市场部门,请来了一个命名顾问,召开命名征集会。当时,因为没有一个合适的名字,他们不得不延后这个语言的面世。在命名征集会上,大家提出了很多名字。最后按大家的评选次序,将十几个名字排列成表,上报给商标律师。排在第一位的是Silk(丝绸)。尽管大家都喜欢这个名字,但遭到简姆斯·古斯林的坚决反对而作罢。排在第二和第三的都没有通过律师这一关。简姆斯·古斯林最喜欢的就是排在第三位的Lyric(抒情诗)。只有排在第四位的名字、得到了所有人的认可和律师的通过。这个名字就是Java。

3.第三个版本

还有一种说法是马克·奥颇门一家咖啡店与同事品尝咖啡时得到灵感的。Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名。国外的许多咖啡店用Java来命名或宣传,以彰显其咖啡的品质。

Java语言中的许多库类名称,多与咖啡有关。JavaBeans(咖啡豆)、NetBeans(网络豆)以及ObjectBeans (对象豆)等等。从此一个即好听又好记、具有强大的生命力的编程语言Java诞生了。

哪种版本更能说服你呢?如今Java在行业中依然拥有巨大的潜力,让我们一起学习,一起交流,一起成长,共同努力发展壮大这个功能强大的编程语言。

javalyric的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、javalyric的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-30,除非注明,否则均为首码项目网原创文章,转载请注明出处。