2015-12-18 4 views
0

Хотите сохранить некоторую информацию, которую я анализирую из JSON для обычного текста в файл, и также хочу, чтобы эта информация не перезаписывалась каждый раз, когда вы запускаете программу. Предполагается, что он работает как простая система регистрации ошибок.Запись строки в текстовый файл в java

До сих пор у меня попытался это:

FileWriter fileWriter = null; 
File file = new File("/home/anderssinho/bitbucket/dblp-article-analyzer/logg.txt"); 

// if file doesn't exists, then create it 
if (!file.exists()) { 
    file.createNewFile(); 
} 

... 

String content = "------------------------------------"; 
fileWriter = new FileWriter(file); 
fileWriter.write(content); 
//fileWriter.write(obj.getString("title")); 
//fileWriter.write(obj.getString("creators")); 
//fileWriter.write(article.GetElectronicEdition()); 

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

Как я могу сделать эту работу?

+1

Не забудьте очистить поток. – rodrigoap

+0

rodrigoap, флеш? – anderssinho

ответ

2

FileWriter fooWriter = новый FileWriter (MYFOO, ложь);

// верно для добавления
// ложно перезаписать; где MYFOO это имя файла

Смотреть это link

+0

Thx для ссылки! – anderssinho

+0

рад помочь вам! – optimus

2

использование Append:

PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("logg.txt", true))); 

увидеть это: How to append text to an existing file in Java

+0

Будет ли это также предоставить мне файл или создать его сначала? – anderssinho

+0

все включено. нет необходимости в дополнительном файле –

2

Можете ли вы быть более сложными по этому поводу? Если проблема просто не может быть добавлена, вы можете просто добавить аргумент в FileWriter, говорящий, что он должен добавлять и не писать с самого начала.

Проверить конструктор здесь:

public FileWriter(String fileName, boolean append) throws IOException 

Official Java Documentation:

Создаёт объект FileWriter дал имя файла с логическое значение, указывающее, следует ли добавлять данные, записанные.

Параметры:
FileName - Струнные Система зависящих от имени файла.
append - boolean если true, то данные будут записаны в конец файла, а не в начале.

Броски:
IOException - если указанный файл существует, но является каталогом, а не обычный файл, не существует, но не может быть создан, или не может быть открыт по любой другой причине

+1

Англоязычное местоимение третьего лица - это «вы», а не «u». – ArtOfCode

+0

@ArtOfCode Хороший улов, я наблюдал за этим во время редактирования. –