Salvando lista/vetor/matriz em um bloco de notas

Boa Dia pessoal da GUJ xD

Bem eu estava outro dia usando uma lista de JRadioButtonMenuItem

private ArrayList<javax.swing.JRadioButtonMenuItem> BB = new ArrayList<JRadioButtonMenuItem>();

tranquilo ele funciona perfeitamente mas o que eu gostaria de fazer e de armazenar esta lista em um bloco de notas para depois recuperar ela

Eu sei criar um arquivo e gravar nele mas a gravação e só uma String, e o meu objetivo e gravar o objeto “BB” não cada botão da lista ou cada String que ela contenha
(Por isso um loop for não funcionaria)

a minha pergunta e simples,
É possível ?

Se é possível como faz?

Obrigado

Att

Victor Gerin

Boa tarde, Victor.

Sim é possível! Eu criei um simples código de exemplo para você entender como é o funcionamento.

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.List;

import javax.swing.JRadioButtonMenuItem;


public class Salva {
	private static List<JRadioButtonMenuItem> list = new ArrayList<JRadioButtonMenuItem>();
	private static JRadioButtonMenuItem buttonMenuItem,buttonMenuItem2;
	
	public static void testaGravacao(List<JRadioButtonMenuItem> l){
		ObjectOutputStream objectOutputStream = null;
		FileOutputStream fileOutputStream = null;
		try {
			
			fileOutputStream = new FileOutputStream("c:\\teste.ser"); // instância o FileOutputStream
			objectOutputStream = new ObjectOutputStream(fileOutputStream);// instância o ObjectOutputStram
			objectOutputStream.writeObject(l);//Grava a lista
			
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		
	}
	public static List<JRadioButtonMenuItem> testaLeitura(String caminho){
		ObjectInputStream inputStream = null;
		FileInputStream fileInputStream = null;
		List<JRadioButtonMenuItem> newList = null;
		try {
			
			fileInputStream = new FileInputStream(caminho); //instância o FileInputStream
			inputStream = new ObjectInputStream(fileInputStream); //instância o ObjectInputStream
			newList = (ArrayList<JRadioButtonMenuItem>)inputStream.readObject(); // Lê o arquivo
			
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
		return newList;
	}
	
	public static void main(String[] args) {
		//Cria 2 JRadioButtonMenuItem e os insere na lista
		buttonMenuItem = new JRadioButtonMenuItem();
		buttonMenuItem2 = new JRadioButtonMenuItem();
		list.add(buttonMenuItem);
		list.add(buttonMenuItem2);
		//Grava a lista
		testaGravacao(list);
		
		//Lê a lista
		List<JRadioButtonMenuItem> newList = testaLeitura("c:\\teste.ser");
		//Teste
		for(JRadioButtonMenuItem b : newList){
			System.out.println("JRadioButton");
		}
		
	}
}

xD obrigado

Vou da uma lida nele qualquer coisa eu volto a falar mas obrigado mesmo xD

sakei então a solução do meu problema ta aki “objectOutputStream.writeObject(l)”

Putz cara vlw mesmo você me salvou

alem de ter ajuda um poko mais quando deu a parte de leitura também xD

Que isso! hahahaha, estamos sempre dispostos!
Já que está resvolvido, você deve colocar seu tópico como Resolvido!

Qualquer dúvida só perguntar :stuck_out_tongue:

Pois é realmente está resolvido

e ainda peguei o seu exemplo e fui testa em outras formas e também funcionou

duplamente resolvido xD