ディレクトリ内の .txt ファイルを一覧表示するメニューを作成する必要があります。たとえば、ディレクトリに jonsmith12.txt 、 lenovo123.txt 、 dell123.txt がある場合、次の arraylist メニューを作成するにはどうすればよいですか?
次のいずれかを選択してください。
- ジョンスミス12
- レノボ123
- dell123
選択肢を入力してください:
特定の時点でディレクトリ内にいくつの .txt ファイルがあるかわからないため、arraylist メニューが必要です。
import java.io.File;
public class ListFiles
{
public static void listRecord() {
// Directory path here
String path = ".";
String files;
File folder = new File(path);
File[] listOfFiles = folder.listFiles();
for (int i = 0; i < listOfFiles.length; i++)
{
if (listOfFiles[i].isFile())
{
files = listOfFiles[i].getName();
if (files.endsWith(".txt") || files.endsWith(".TXT"))
{
System.out.println(files);
}
}
}
}
}
.txt ファイルの情報をコンソールに表示するクラスを次に示します。まだ修正が必要ですが、おそらくそれを理解できるでしょう。
import java.io.BufferedInputStream;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
/**
* This program reads a text file line by line and print to the console. It uses
* FileOutputStream to read the file.
*
*/
public class DisplayRec {
public static void displayRecord() throws IOException {
File file = new File("williamguo5.txt");
FileInputStream fis = null;
BufferedInputStream bis = null;
DataInputStream dis = null;
try {
fis = new FileInputStream(file);
// Here BufferedInputStream is added for fast reading.
bis = new BufferedInputStream(fis);
dis = new DataInputStream(bis);
// dis.available() returns 0 if the file does not have more lines.
while (dis.available() != 0) {
// this statement reads the line from the file and print it to
// the console.
System.out.println(dis.readLine());
}
// dispose all the resources after using them.
fis.close();
bis.close();
dis.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
問題は、 .txtファイルが表示されるようにArrayList
メニューをListFiles
クラスに実装するにはどうすればよいかということです。