- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写一个简单的应用程序,它从用户指定的文件位置读取并对在那里找到的 .mp3 文件执行操作。我有一种名为 getMusicFilenames
的方法(如下),应该转到路径,查看每个文件,如果文件名以 .mp3 结尾,则将其添加到 ArrayList<String>
然后最后返回列表。
public static List<String> getMusicFilenames(Path p) {
List<String> listOfMusic = new ArrayList<>();
try (DirectoryStream<Path> stream = Files.newDirectoryStream(p)) {
for (Path file : stream) {
if (Files.isDirectory(file)) {
if (M3UFinder.isMusicFile(file.toString())) {
listOfMusic.add(file.toString());
}
}
}
} catch (Exception e) {
System.err.println("getMusicFilenames:: error with path "
+ p + ": " + e.getMessage());
}
return listOfMusic;
}
isMusicFile 方法非常简单,但可能是相关的:
public static boolean isMusicFile(String thisFilename) {
return thisFilename.endsWith(".mp3");
}
在使用 JUnit 测试此方法时,我将测试路径设置为查看仅包含一个 .mp3 文件的特定路径,但测试失败,提示“预期 <[songtitle.mp3]> 但为:<[] >.所以显然它要么没有读取文件在那里,要么正在读取文件但没有将其添加到列表中。无论哪种方式,列表返回空,这都会导致我编写的其他方法出现问题,这一切都取决于列表上有尺寸和里面的东西。我是不是犯了一些我自己看不到的简单错误?如果它有助于显示我哪里出错了,getMusicFilenames
方法是根据我之前的类似方法改编的提供,如下所示。
public static List<String> getPlaylistFilenames(Path p) {
List<String> listOfPlaylists = new ArrayList<>();
try (DirectoryStream<Path> stream = Files.newDirectoryStream(p)) {
for (Path file : stream) {
if (Files.isDirectory(file, LinkOption.NOFOLLOW_LINKS)) {
listOfPlaylists.addAll(getPlaylistFilenames(file));
} else if (M3UReader.isValidHeader(file.toString())) {
listOfPlaylists.add(file.toString());
}
}
} catch (Exception e) {
System.err.println("getPlaylistFilenames:: error with path "
+ p + ": " + e.getMessage());
}
return listOfPlaylists;
}
非常感谢任何帮助/提示。
最佳答案
这里缺少感叹号if (Files.isDirectory(file))
。
应该是if (!Files.isDirectory(file))
关于java - 空字符串数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27425348/
我正在尝试创建一个程序,其中字符串的前三个字符重复给定次数,如下所示: foo('Chocolate', 3) # => 'ChoChoCho' foo('Abc', 3) # => 'AbcAbcA
我有以下字符串: std::string str = "Mode:AAA:val:101:id:A1"; 我想分离一个位于 "val:" 和 ":id" 之间的子字符串,这是我的方法: std::st
DNA 字符串可以是任意长度,包含 5 个字母(A、T、G、C、N)的任意组合。 压缩包含 5 个字母(A、T、G、C、N)的 DNA 字母串的有效方法是什么?不是考虑每个字母表 3 位,我们可以使用
是否有一种使用 levenstein 距离将一个特定字符串与第二个较长字符串中的任何区域进行匹配的好方法? 例子: str1='aaaaa' str2='bbbbbbaabaabbbb' if str
使用 OAuth 并使用以下函数使用我们称为“foo”(实际上是 OAuth token )的字符串加密 key public function encrypt( $text ) { // a
我是一名优秀的程序员,十分优秀!