java - 使用 getName() 时如何摆脱文件类型?

标签 java

只是因为我懒才这么做。我刚刚编写了一个程序,将我所有的音乐列出到一个 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

最佳答案

由于您已经在使用 FileUtils,请注意您将获得处理扩展的方法。

参见FileUtils.removeExtension .

查看代码,您会发现这些处理文件扩展名的方法 - 还有 getExtensionisExtension - 都只使用 lastIndexOf ,因此他们只会处理简单的情况,但这应该足以满足您的目的。

关于java - 使用 getName() 时如何摆脱文件类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12937924/

相关文章:

java - 我已将 radio 组动态添加到 Activity 中。我无法获得选择了哪个 Radiogroup,但我可以看到 Radiobutton

java - 是否曾在运行中的 JVM 中调用过此方法

带有 IS NULL 的 Java 预处理语句

java - 返回尝试资源。这是 JVM 的正确行为吗?

java - 计算 Lucene 文档之间的相似度和质心

java - spring - 将属性注入(inject)到 pojo 类

java - Android:在 SurfaceViev 上移动多个位图

java - 发送到 UI 线程的消息永远不会到达

java - Spring Rest 应用程序未启动(NullPointerException)

c# - 读取蓝牙信号强度