2008/04/28(Mon) 04:30:06 編集(投稿者)
2008/04/28(Mon) 04:22:43 編集(投稿者)
<pre><pre>ふむ、変だ。
ExtensionFilter って無いの?って答えに、あるっていう答えだったが
Javaみたいな幾つでもOKよん、好きなだけ納得行くまで書いてちょーだい
てゆーのだと思ってた。
何で二度手間にこだわっているのかよくわからんのかったのだが、確かに
二度手間ですね・・・
-- VB.NET --
Imports System.IO
Module Module1
Sub Main()
Dim files() As String = Directory.GetFiles("C:\Temp", "*.txt")
Console.WriteLine("files({0})", files.Length)
For Each name As String In files
Console.WriteLine(name)
Next
Console.In.ReadLine()
End Sub
End Module
答え:
files(2)
C:\Temp\sample.txt
C:\Temp\sample.txt2
-- Java --
import java.io.*;
public class TestFind {
public class MyFilter implements FileFilter {
public boolean accept(File file) {
if (file.getName().toLowerCase().endsWith("txt")) {
return true;
}
return false;
}
}
public static void main(String[] args) {
File file = new File("C:/Temp");
TestFind tf = new TestFind();
File[] files = file.listFiles(tf.new MyFilter());
if (files != null) {
for (int i=0;i < files.length;i++) {
System.out.println("[" + i + "] " + files[i].getName());
}
}
else {
System.err.println("ERROR is null");
}
}
}
答え:
[0] sample.txt
Javaとじゃ比較自体間違っているがしかし・・・変だ。
良く見てみると、Javaは総当り篩い掛けですね。
.NET の方は微妙な・・・篩に掛かってないじゃん・・・・やっぱり変。
</pre></pre>