У меня есть каталог с большим количеством файлов (~ 40 000), и каждый файл имеет ровно две строки, каждая с номером. Я хочу добавить все числа во весь каталог; как я могу сделать это быстро и эффективно?Добавить числа в файлах
Я пробовал это, но это не сработает, и я не могу понять, почему жизнь меня объясняет. Я получаю исключение NullPointerException, но этого не должно быть, поскольку я предполагаю, что listOfFiles.length вызывает его.
package minerguy31.ai.tictactoe.counter;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;
public class TicTacToeCounter {
static String dir = "./data/";
public static void main(String args[]) throws IOException{
int total = 0;
File folder = new File(dir);
File[] listOfFiles = folder.listFiles();
for (int i = 0; i < listOfFiles.length; i++) {
total += getWins(listOfFiles[i].getAbsolutePath());
total += getLosses(listOfFiles[i].getAbsolutePath());
}
System.out.println(total);
}
public static int getWins(String move) throws IOException{
File f = new File(move);
if(!f.exists()){
f.createNewFile();
PrintWriter writer = new PrintWriter(move, "UTF-8");
writer.println("0");
writer.println("0");
writer.close();
return 0;
}
Scanner fscanner = new Scanner(f);
int wins = 0;
if(fscanner.hasNext())
wins = fscanner.nextInt();
fscanner.close();
return wins;
}
public static int getLosses(String move) throws IOException{
File f = new File(move);
if(!f.exists()){
f.createNewFile();
PrintWriter writer = new PrintWriter(move, "UTF-8");
writer.println("0");
writer.println("0");
writer.close();
return 0;
}
Scanner fscanner = new Scanner(f);
fscanner.nextInt();
int losses = 0;
if(fscanner.hasNext())
losses = fscanner.nextInt();
fscanner.close();
return losses;
}
}
Попробуйте что-нибудь. Отправьте свою попытку и отредактируйте свой вопрос, если у вас есть определенные проблемы. – paisanco
@paisanco Я добавил свой код – eukaryote
возможный дубликат [Что такое исключение Null Pointer Exception и как его исправить?] (Http://stackoverflow.com/questions/218384/what-is-a-null-pointer- exception-and-how-do-i-fix-it) – Gosu