推广 热搜: 百度  可以  企业  搜索引擎  使用  选择  上海  技术  设备  货运 

Java代码写歌词_歌词整理的程序实现

   日期:2025-01-02     作者:az3gn    caijiyuan  
核心提示:importjava.awt.BorderLayout;importjava.awt.Container;importjava.awt.Dimension;importjava.awt.GridLayout;importjava.awt.e

importjava.awt.BorderLayout;importjava.awt.Container;importjava.awt.Dimension;importjava.awt.GridLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.io.BufferedReader;importjava.io.File;importjava.io.FileReader;importjava.io.FileWriter;importjava.io.IOException;importjava.util.ArrayList;importjava.util.Collections;importjava.util.Iterator;importjava.util.regex.Matcher;importjava.util.regex.Pattern;importjavax.swing.JButton;importjavax.swing.JFileChooser;importjavax.swing.Jframe;importjavax.swing.JLabel;importjavax.swing.JPanel;publicclassSortLrc {privateFile lrcFile=null;privateString lrcDir="";privateJFileChooser dirChoose=newJFileChooser();privateJFileChooser fileChoose=newJFileChooser();privateJFileChooser chooser=newJFileChooser();privateJButton saveButton=newJButton("保存路径");privateJButton selectButton=newJButton("选择lrc文件");privateJLabel saveLable=newJLabel("d:");privateJLabel selectLable=newJLabel("d:");privateJPanel panelButton=newJPanel();privateJPanel panelLabel=newJPanel();privateJPanel panelSort=newJPanel();privateJButton sortButton=newJButton("排序歌词");publicSortLrc() {

Jframe frame=newJframe("歌词文件整理");

frame.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);//选择目录,选择文件的话注释掉这行。dirChoose.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);

fileChoose.setFileSelectionMode(JFileChooser.FILES_ONLY);

saveButton.addActionListener(newActionListener() {publicvoidactionPerformed(ActionEvent e) {intretValue=dirChoose.showSaveDialog(saveButton);if(retValue==JFileChooser.APPROVE_OPTION) {

lrcDir=dirChoose.getSelectedFile().toString();

saveLable.setText(dirChoose.getSelectedFile().toString());

}

}

});

selectButton.addActionListener(newActionListener() {publicvoidactionPerformed(ActionEvent e) {intretValue=fileChoose.showSaveDialog(selectButton);if(retValue==JFileChooser.APPROVE_OPTION) {

lrcFile=fileChoose.getSelectedFile();

selectLable

.setText(fileChoose.getSelectedFile().toString());

}

}

});

sortButton.addActionListener(newActionListener() {

@OverridepublicvoidactionPerformed(ActionEvent e) {try{

sortLrc();

}catch(IOException iOE) {

System.out.println("整理歌词失败");

}

}

});

panelButton.add(selectButton);

panelLabel.add(selectLable);

panelButton.add(saveButton);

panelLabel.add(saveLable);

panelSort.add(sortButton);

panelLabel.setLayout(newGridLayout(2,2,20,20));

panelButton.setLayout(newGridLayout(2,2,20,20));

Container pane=frame.getContentPane();

pane.setLayout(newBorderLayout());

pane.add(panelButton, BorderLayout.WEST);

pane.add(panelLabel, BorderLayout.CENTER);

pane.add(panelSort, BorderLayout.SOUTH);

frame.setPreferredSize(newDimension(400,300));

frame.pack();

frame.setLocation(400,200);

frame.setVisible(true);

}privatevoidsortLrc()throwsIOException {

ArrayListsortList=newArrayList();

FileReader fr=newFileReader(lrcFile);

BufferedReader br=newBufferedReader(fr);

StringBuilder sb=newStringBuilder();

String str="";while((str=br.readLine())!=null) {if(!isTimeLine(str)) {

sb.append(str+" ");

}else{

speLine(str, sortList);

}

}

Collections.sort(sortList);for(Iteratoriterator=sortList.iterator(); iterator

.hasNext();) {

LrcTimeFormat lrcTimeFormat=(LrcTimeFormat) iterator.next();

sb.append(lrcTimeFormat+" ");

}

File sortFile=newFile(lrcDir+"\"+lrcFile.getName());

System.out.println(sortFile.getAbsolutePath());

FileWriter fw=newFileWriter(sortFile);

fw.write(sb.toString());

br.close();

fr.close();

fw.close();

}privatestaticBoolean isTimeLine(String str) {

String timeRege=".*\[[\d]{2}\:[\d]{2}\.[\d]{2}\].*";returnstr.matches(timeRege);

}privatestaticvoidspeLine(String str, ArrayListlist) {

String timeRege="\[[\d]{2}\:[\d]{2}\.[\d]{2}\]";

Pattern p=Pattern.compile(timeRege);

Matcher m=p.matcher(str);

String tail=str.replaceAll("\[.*\]","");while(m.find()) {

String lineUnit=m.group()+tail;//System.out.println(lineUnit);list.add(newLrcTimeFormat(lineUnit));

}

}publicstaticvoidmain(String[] args) {newSortLrc();

}

本文地址:http://ww.kub2b.com/tnews/4517.html     企库往 http://ww.kub2b.com/ ,  查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。

 
 
更多>同类生活信息

文章列表
相关文章
最新动态
推荐图文
生活信息
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号