2016-04-17 2 views
0

Я хочу знать, как читать текст внутри файла, содержащий в первой строке, например Column1, Column2, Column3 и т. Д. Учитывая, что у меня есть эта строка, я хочу прочитать до столбца 1 и остановить и сохранить его в переменная, и если мне нужен столбец2, я просто хочу прочитать, пока не найду столбец2, и как только я это сделаю, я храню только «column2» в переменной и т. д., если это имеет смысл.Как прочитать часть файла и сохранить его?

В основном я хочу искать и читать определенные слова в файле и хранить его в переменной, которая будет использоваться в других операциях в будущем. Это возможно? Я рассмотрел использование буферизатора, но я не очень разбираюсь в java, поэтому любые предложения или фрагменты кода, которые я могу просмотреть, я был бы очень благодарен, спасибо заранее.

+1

Звучит как файл CSV. Используйте библиотеку CSV. –

+0

Для CSV-файла используйте [OpenCSV] (http://opencsv.sourceforge.net/). – ManoDestra

+0

Нет, это не файл csv, а только текстовый файл. Это часть проекта, и я не думаю, что нам разрешено добавлять дополнительные библиотеки. Я просто хочу читать части строк и сохранять их в переменной, также иметь в виду, что между столбцом1 и столбцом2 есть разделитель, который у меня есть как запятая, если это помогает. –

ответ

0

Настоящим грубым способом сделать это было бы просто сохранить и загрузить всю структуру данных в файл и из него. Тогда вы можете выбрать и выбрать то, что вы хотите посмотреть, более удобным способом. Следующий пример сохраняет и загружает целочисленный массив, называемый данными из файла в текущем каталоге:

//Load the data integer array from a file in the current directory 
public void loadData(){ 
    try{ 
     ObjectInputStream ois = new ObjectInputStream(new FileInputStream(fileName)); 
     data = (int[])ois.readObject(); 
    }catch(Exception e){e.printStackTrace();} 
} 

//Save the data integer array to a file in the current directory 
public void saveData(){ 
    try{ 
     FileOutputStream out = new FileOutputStream(fileName); 
     ObjectOutputStream oout = new ObjectOutputStream(out); 
     oout.writeObject(data); 
     oout.close(); 
    }catch(Exception e){e.printStackTrace();} 
} 
Смежные вопросы