如何将不同文件的数据读入数组?

时间:2015-03-25 02:10:30

标签: java file

我有一个只包含整数文件的文件夹。用户输入写入文件,以便文件夹中的文件数始终更改。

这是我的代码。

       FileWriter fw = new FileWriter("test.txt");
       fw.write(2);

       FileWriter fz = new FileWriter("test2.txt");
       fz.write(3);

       File folder= new File("folder");
       folder.mkdir();

       // Returns an array of pathnames of all files in a folder. 
       File[] fileArray = folder.listFiles();

       // For each file in the file array
       for ( File file : fileArray){


          int i;

           // Reads each file.
           FileReader fr = new FileReader(file);

           for ( i = 0 ; i > fileArray.length ; i++) {
               int[] anArray = new int[i];
               anArray[i] = fr.read();
               System.out.println(anArray[i]);
           }

我希望FileReader将数据读入anArray。我不能像这样单独编码文件,

anArray[0] = fr.read();
anArray[1] = fr.read();

因为文件数总是在变化。我该怎么做?

2 个答案:

答案 0 :(得分:0)

您需要ArrayListArrayList包含文件内容。

例如:

    ArrayList<ArrayList<String>> allFilesContents = new ArrayList<ArrayList<String>>();
    for ( File file : fileArray){
       BufferedReader br = new BufferedReader(new FileReader(file));
       ArrayList<String> fileContents = new ArrayList<String>();
       String lineRead = null;
       while((lineRead=br.readLine())!=null){
         fileContents.add(lineRead);
       }
       allFilesContents.add(fileContents);
    }

答案 1 :(得分:0)

ArrayList是循环文件夹和文件的最佳方式。我之前也尝试过这样的事情:

  for (File file : fileArray){
       // Reads each file.
       FileReader fr = new FileReader(file);

       int length=(int) file.length();
       char anArray[] = new char[length];
       fr.read(anArray);
               for(char c: anArray){
            System.out.print(c);
               }
       }