Gravar e ler dados em um arquivo local

Olá, estou desenvolvendo um programa, onde eu gostaria de fazer que os dados fossem salvos no computador que está instalado (evitando a utilização de banco de dados). Exemplo abaixo:

Exemplo

O usuário iria registrar por exemplo os produtos de uma loja, onde teria o ID, Código, Nome e Valor, ao ser registrado iria ser criado um arquivo com o nome Produtos.txt automaticamente e ao registrar outros produtos, ele iria apenas atualizar esse arquivo com os novos dados. A estrutura do arquivo ficaria mais ou menos assim:

Produtos.txt

ID =
Código =
Nome =
Valor =

E quando registrado um produto ficaria assim:

Produtos.txt

ID = 1
Código = 12345678
Nome = Bolacha
Valor = 30.00

E caso fosse registrado mais de um produto, ele criaria novas linhas com os dados e apenas atualizaria o arquivo, como por exemplo:

Produtos.txt

ID = 1
Código = 12345678
Nome = Bolacha
Valor = 30.00

ID = 2
Código = 13572468
Nome = Biscoito
Valor = 20.00

Alguém sabe se seria possível fazer isso e como posso fazer?

Estou utilizando o Eclipse na linguagem Java.

ATUALIZANDO

Achei esse código, ele gera o arquivo caso não exista e atualiza o arquivo ao inserir novas informações, porém se tiver algum texto, ele irá substituir e não adicionar, segue o código:

Código
package telas;

import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;

public class GravarProdutos extends JFrame {

/**
 * 
 */
private static final long serialVersionUID = 1L;
private JPanel contentPane;
private static BufferedReader reader;

/**
 * Launch the application.
 */
public static void main(String[] args) {
	try {
        // Conteúdo
        String content =
        		"\nID = 1\n"
        		+ "Código = 12345678\n"
        		+ "Nome = Bolacha\n"
        		+ "Valor = 30.00\n";

        // Cria arquivo
        File file = new File("Produtos.txt");

        // Se o arquivo não existir, ele gera
        if (!file.exists()) {
            file.createNewFile();
        }

        // Prepara para escrever no arquivo
        FileWriter fw = new FileWriter(file.getAbsoluteFile());
        BufferedWriter bw = new BufferedWriter(fw);
        
        // Escreve e fecha o arquivo
        bw.write(content);
        bw.close();
        
        // Lê o arquivo
        FileReader ler = new FileReader("Produtos.txt");
        reader = new BufferedReader(ler);  
        String linha;
        while( (linha = reader.readLine()) != null ){
            System.out.println(linha);
        }

        // Imprime confirmacao
        System.out.println("\nGravado!");

    } catch (IOException e) {
        e.printStackTrace();
    }
	EventQueue.invokeLater(new Runnable() {
		public void run() {
			try {
				GravarProdutos frame = new GravarProdutos();
				frame.setVisible(true);
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	});
}

/**
 * Create the frame.
 */
public GravarProdutos() {
	setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	setBounds(100, 100, 450, 300);
	contentPane = new JPanel();
	contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
	contentPane.setLayout(new BorderLayout(0, 0));
	setContentPane(contentPane);
   }

}

Ola @VinyciusCS, cara pq tu não usa a lib do commons-io usando o maven, vai facilitar tua vida, segue um exemplo:

Aqui a lib no maven:

    <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.6</version>
    </dependency>

Aqui o código de exemplo

      try {

        List<String> linhas = new LinkedList<>();
        linhas.add("ID=1");
        linhas.add("Nome=Lais");
        //passo o caminho do arquivo, as linhas que serao adicionadas no arquivo, e passo true para sempre adicionar no final
        FileUtils.writeLines(new File("C:\\SEU_PATH\\Produtos.txt"), linhas , true);
        
        List<String> linhas2 = new LinkedList<>();
        linhas2.add("ID=2");
        linhas2.add("Nome=Jacob");
        FileUtils.writeLines(new File("C:\\SEU_PATH\\Produtos.txt"), linhas2, true);
    } catch (IOException ex) {
        Logger.getLogger(SaveContentFile.class.getName()).log(Level.SEVERE, null, ex);
    }

Vê se serve pra vc

Infelizmente não consigo utilizar o Maven (bug do Eclipse), e o código dá erro nas linhas:

FileUtils.writeLines(new File("C:\\SEU_PATH\\Produtos.txt"), linhas , true);

Em “writeLines”, e tive que substituir o “FileUtils” por “FileUtilities” para que reconhecesse, e os textos ele seria adicionado pelo usuário, por exemplo, através de um JTextField, apenas coloquei daquela forma acima porque foi o único que achei e funcionou o mais próximo, mesmo assim obrigado!