开发者

Output the strings inside of multiple .txt files in a directory

I have a folder which file name is: "List of names". Inside that folder i开发者_StackOverflow have a 5 ".txt" file documents and each document file names is a person's name.

I want to retrieve the five documents and display the strings inside each documents. How do i do this? I tried this:

import java.io.*;
import java.util.*;

public class Liarliar {
    public static void main(String args[])throws IOException{

        File Galileo = new File("C:\\List of names\\Galileo.txt");
        File Leonardo = new File("C:\\List of names\\Leonardo.txt");
        File Rafael = new File("C:\\List of names\\Rafael.txt");
        File Donatello = new File("C:\\List of names\\Donatello.txt");
        File Michael = new File("C:\\List of names\\Michael.txt");
        FileInputStream fis = null;
        BufferedInputStream bis = null;
        DataInputStream dis = null;

        try{
            System.out.println("Enter a number list of names:");
            Scanner scanner = new Scanner(System.in);
            int input = scanner.nextInt();

        }catch(FileNotFoundException e){
        }catch(IOException e){
        }
    }
}

Thanks in advance for someones time...


It would be more generic to not hard code the names of the individual files like Galileo.txt. You can create a File representing the directory, and then call listFiles to get all the files in the directory, like

File nameFile = new File(""C:\\List of names");
File[] personFiles = nameFile.listFiles();

Then you can iterate over this File array, and open each file in turn, and read the contents, like

for (File person : personFiles) {
    showFileDetails(person);
}

where showFileDetails is a separate method you write for opening the file and displaying the information.


the following lines are not needed as they are meant to take input from user.

System.out.println("Enter a number list of names:");             
Scanner scanner = new Scanner(System.in);             
int input = scanner.nextInt(); 

Instead you need to read the files one by one using a FileInputStream or FileReader. See here for an example on how to read data from files. Do this for each of your files.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜