В моей предыдущей теме я забыл показать людям, что я попытался попробовать это сам, будьте уверены, я провел последние 2 часа, пытаясь решить эту тупую проблему.Загрузить и сохранить в txt файл
мне нужно сделать следующее:
- Поиск файла с именем «file.txt», если нуль, то создайте его.
- Прочитайте файл, чтобы найти целое число (должно быть единственным во всем файле)
- Если число не существует, то создайте его и установить его на 1
- Если он уже существует, то добавить 1 к нему и сохраните его снова
- Откройте файл снова, получите целое число и распечатайте его на консоли.
Это, насколько мне удалось получить:
package science;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.Reader;
public class DumpData {
static void writeStringToFile(String gender, String securityLevel){
try {
File file = new File(gender + securityLevel + ".txt");
//file.getParentFile().mkdirs();
PrintWriter pr = new PrintWriter(file);
FileInputStream fs = new FileInputStream(gender + securityLevel + ".txt");
BufferedReader br = new BufferedReader(new InputStreamReader(fs));
if (br.readLine() == null) {
pr.println("" + 0);
}
//String first = br.readLine();
//System.out.println(first);
try{
String first = br.readLine();
int num = Integer.parseInt(first);
int add = (num + 1);
pr.println("" + add);
pr.close();
System.out.println(num);
} catch (NumberFormatException e) {
// not an integer!
System.out.println("error");
System.out.println(br.readLine());
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Я постоянно получаю это сообщение «ошибка», выводимой на консоль, а также с большим количеством экзамена я обнаружил, что ничего не сохраняются в .txt файл вообще. Я полностью ожидал, что мой код добавит 1 к int в файл каждый раз, когда метод был выполнен.
Изменить код вида 'поймать (Exception е) {..' для' поймать (Exception е) { e.printStackTrace(); // очень информативно! ..' –
Попробуйте распечатать 'first', прежде чем разбирать его. Я предполагаю, что вы увидите, почему число не обрабатывается ... –
Опубликуйте файл, который вы используете для этого примера. – Makky