Я использовал эту функцию, чтобы написать строку в определенном индексе:
private void write_line(Student s,int index){
try {
Student_pool.seek(0);
Student_pool.seek(index*(25*Integer.SIZE+4*Character.SIZE));
Student_pool.writeChars(s.getId());
Student_pool.writeChars(s.getHw().substring(0,2));
Student_pool.writeChars(".");
Student_pool.writeChars(s.getHw().substring(3,5));
Student_pool.writeChars(s.getPrj().substring(0,2));
Student_pool.writeChars(".");
Student_pool.writeChars(s.getPrj().substring(3,5));
Student_pool.writeChars(s.getMidtermExam().substring(0,2));
Student_pool.writeChars(".");
Student_pool.writeChars(s.getMidtermExam().substring(3,5));
Student_pool.writeChars(s.getFinalExam().substring(0,2));
Student_pool.writeChars(".");
Student_pool.writeChars(s.getFinalExam().substring(3,5));
Student_pool.writeChars("\n");
Student_pool.getFD().sync();
} catch (IOException ex) {
Logger.getLogger(Storagelmpl.class.getName()).log(Level.SEVERE, null, ex);
}
}
Но когда я пытаюсь открыть файл, результат получается неправильным, и после каждого символа появляется пробел.Результат выглядит следующим образом:
8 1 0 1 8 7 3 1 2 2 0 . 0 0 2 0 . 0 0 2 0 . 0 0 2 0 . 0 0
8 1 0 1 8 8 2 7 5 1 6 . 0 0 1 0 . 0 0 1 3 . 0 0 1 9 . 0 0
Я думаю, что есть проблема с моим кодированием и другая проблема с моим операндом поиска.Но я не знаю, как это исправить.