我有一个只包含整数文件的文件夹。用户输入写入文件,以便文件夹中的文件数始终更改。
这是我的代码。
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();
因为文件数总是在变化。我该怎么做?
答案 0 :(得分:0)
您需要ArrayList
个ArrayList
包含文件内容。
例如:
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);
}
}