Прежде чем я начну, позвольте мне извиниться за мое элементарное понимание Java, так как я почти уверен, что это будет простой проблемой для большинства программистов.
По сути, у меня есть два файла Java:все текстовые файлы в указанном каталоге, второй читает указанный текстовый файл и распечатывает его.
Я пытаюсь выяснить, как использовать выходные данные ListFiles (показано ниже - дает все текстовые файлы в директории) - я предполагаю, что это переменная «files» в нижней части System.out.println - и затем передаю ее в java-файл «FileData» (2-й пример ниже) для эффективного чтения всех текстовых файлов в определенной директории.*
Может быть, было бы как-то проще создать новый файл Java, который использует оба из них?Любое направление будет с благодарностью, спасибо.
import java.io.File;
public class ListFiles
{
// bad attempt at OOP lol, f goes nowhere
public ListFiles(String f) {
}
public static void main(String[] args)
{
// Directory path here
String path = "C:/WORKING_DIR_WITH_TXT_FILE";
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);
}
}
}
}
}
И вот второй файл Java, который читает файл TXT
import java.io.IOException;
public class FileData
{
public static void main(String[] args) throws IOException
{
String file_name = "C:/WORKING_DIR_WITH_TXT_FILE";
// "C:/directory/*.txt"???;
try {
ReadFile file = new ReadFile(file_name);
String[] aryLines = file.OpenFile();
int i;
for (i=0; i < aryLines.length; i++) {
System.out.println(aryLines[i]);
}
}
catch (IOException e) {
System.out.println( e.getMessage() );
}
}
}