这样做只是因为我很懒。我刚刚编写了一个程序,将我的所有音乐列入excel文件。
import java.io.*;
import org.apache.commons.io.FileUtils;
public class NewClass {
public static void main( String args[] )
{
File folder = new File("C:/Users/Public/Music/OldMusic");
File[] listOfFiles = folder.listFiles();
for (int i = 0; i < listOfFiles.length; i++) {
try{
FileUtils.writeStringToFile(new File("test.xls"), listOfFiles[i].getName(), true);
BufferedWriter output;
output = new BufferedWriter(new FileWriter("test.xls", true));
output.newLine();
output.close();
}
catch (IOException e){
}
}
}
}
代码工作正常,但每首歌的结尾都有 .mp3 (即: Metallica - Nothing Else Matters.mp3 )。
有没有办法让歌曲的名字在其末尾没有 .mp3 ?
答案 0 :(得分:3)
由于您已经在使用FileUtils
,请注意您获得了处理扩展程序的方法。
查看代码,您会看到这些处理文件扩展名的方法 - getExtension
,isExtension
- 只需使用lastIndexOf
,所以他们只会处理简单的案件,但这应该足以满足您的目的。
答案 1 :(得分:1)
使用:
String fname = listOfFiles[i].getName();
fname.substring(0, fname.lastIndexOf("."))
而不是传递..
listOfFiles[i].getName()
答案 2 :(得分:1)
import java.io.*;
import org.apache.commons.io.FileUtils;
public class NewClass {
public static void main( String args[] )
{
File folder = new File("C:/Users/Public/Music/OldMusic");
File[] listOfFiles = folder.listFiles();
for (int i = 0; i < listOfFiles.length; i++) {
try{
FileUtils.writeStringToFile(new File("test.xls"), listOfFiles[i].getName().substring(0, listOfFiles[i].getName().indexOf(".mp3")), true);
BufferedWriter output;
output = new BufferedWriter(new FileWriter("test.xls", true));
output.newLine();
output.close();
}
catch (IOException e){
}
}
}
}