在下面的程序中,我目前正在读取目录中的文件。但是,我只想阅读.txt文件。如何只读取目录中的.text文件。
import java.io.*;
public class Data {
public static void main(String[] args) throws IOException {
String target_dir = "C:\\Files";
String textfile;
File dir = new File(target_dir);
File[] files = dir.listFiles();
for (File textfiles : files) {
if (textfiles.isFile()) {
BufferedReader inputStream = null;
try {
inputStream = new BufferedReader(new FileReader(textfiles));
String line;
while ((line = inputStream.readLine()) != null) {
System.out.println(line);
}
} finally {
if (inputStream != null) {
inputStream.close();
}
}
}
}
}
}
答案 0 :(得分:3)
您可以使用java.io.FilenameFilter过滤目录中的文件。
import java.io.*;
public class Data {
public static void main(String[] args) throws IOException {
String target_dir = "C:\\Files";
File dir = new File(target_dir);
FilenameFilter textFileFilter = new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return name.endsWith(".txt");
}
};
File[] files = dir.listFiles(textFileFilter);
for (File textfiles : files) {
if (textfiles.isFile()) {
BufferedReader inputStream = null;
try {
inputStream = new BufferedReader(new FileReader(textfiles));
String line;
while ((line = inputStream.readLine()) != null) {
System.out.println(line);
}
} finally {
if (inputStream != null) {
inputStream.close();
}
}
}
}
}
}
答案 1 :(得分:2)
尝试检查扩展程序
import java.io.*;
public class Data {
public static void main(String[] args) throws IOException {
String target_dir = "C:\\Files";
String textfile;
File dir = new File(target_dir);
File[] files = dir.listFiles();
for (File textfiles : files) {
if (textfiles.isFile() && textfiles.getName().endsWith(".txt")) {
BufferedReader inputStream = null;
try {
inputStream = new BufferedReader(new FileReader(textfiles));
String line;
while ((line = inputStream.readLine()) != null) {
System.out.println(line);
}
} finally {
if (inputStream != null) {
inputStream.close();
}
}
}
}
}
}
答案 2 :(得分:1)
使用Files.probeContentPath()获取文件的mime。
答案 3 :(得分:0)
您可以使用<img src="{{'someImageLink'}}">
为您完成这项工作。您的代码可能如下所示:
FileNameFilter
然后您知道 File[] files = dir.listFiles(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
if (name.toLowerCase().endsWith(".txt")) return true;
return false;
}
});
仅包含以files
结尾的文件,或者您需要的任何其他条件。