【发布时间】:2018-01-02 12:43:50
【问题描述】:
我有 5 个文本文件,我试图将它们中的每一个读入一个数组列表,因此 5 个文件需要存储 5 个数组列表。
我编写了一个代码,成功地将所有五个文本文件存储到一个数组列表中。 我发现 while 循环在第一种情况下只执行一次,所以问题出在 while 循环以及它是如何执行的,但不幸的是我无法准确找出问题所在。 我的代码在这里访问我的文件所在的目录,然后我列出这些文件并将它们存储到文件数组中。 在第一个 for 循环中,我将目录路径与文件名连接起来 在第二个循环中,我正在读取文件的内容。
正如我之前提到的,整个问题都与 while 循环有关,这就是我想出来的。
这是我的代码:
public ArrayList<ArrayList<String>> readFromFile() throws IOException
{
ArrayList<ArrayList<String>>data = new ArrayList<ArrayList<String>>();
String s =null;
File file = new File("/home/abed/Downloads/practical_database_java-StudentVers/practical_database_java/Database/Oracle") ;
String []files = file.list();
String [] filestoberead = new String[files.length];
for(int i = 0 ;i<files.length;i++)
{
filestoberead[i] = file+"/"+files[i] ;
System.out.println(filestoberead[i]);
}
for(int j =0;j<filestoberead.length;j++)
{
try(BufferedReader reader= new BufferedReader(new FileReader(filestoberead[j])))
{
reader.readLine();
while((s=reader.readLine())!=null)
{
data.get(j).add(s);
}
}
}
return data ;
}
【问题讨论】: