Objeto em Arquivo

Tenho que escrever em um arquivo “cliente.txt” os dados de um cliente ( nome, endereco, fone ) armazenando isso em objeto e estou tendo dificuldades em manipular isso com uma array.

Ele grava uns caracteres estranhos, algo deve estar errado?

ex:
class IncluiCliente implements ActionListener {

	public void actionPerformed(ActionEvent e) {
		
		ArrayList lista = new ArrayList();
		
		try {

			//insercao de objeto em arquivo
			ObjectOutputStream objCliente = new ObjectOutputStream(new	FileOutputStream("cliente.txt"));
			
			//busca dado digitado
			String nomeCliente = cliIncNome.getText();
			String endCliente = cliIncEndereco.getText();
			String foneCliente = cliIncTelefone.getText();
			String idCliente = cliIncTelefone.getText();
			
			//escreve o objeto no arquivo
			objCliente.writeObject(nomeCliente);
			objCliente.writeObject(endCliente);
			objCliente.writeObject(foneCliente);
			objCliente.writeObject(idCliente);
							
			//encerra o objeto
			objCliente.close();
			
			//-------------------------------------
			JOptionPane.showMessageDialog(JDBCIde.this,
					"Cliente Inserido com sucesso", "Sucesso",
					JOptionPane.PLAIN_MESSAGE);
			JDBCIde.this.cliIncNome.setText("");
			JDBCIde.this.cliIncEndereco.setText("");
			JDBCIde.this.cliIncTelefone.setText("");
			JDBCIde.this.cliIncIdade.setText("");
			JDBCIde.this.cliIncNome.requestFocus(); // Posiciona o cursor no
													// campo Nome
		} catch (IOException exception) {
			JOptionPane.showMessageDialog(JDBCIde.this,
					"Erro na inclusao do cliente", "Erro na inclusao",
					JOptionPane.ERROR_MESSAGE);
		}

	}

Fera, você está serializando o arquivo, gravando-o num objeto, e não gravando o conteúdo de texto exato no mesmo.
Assim, ao abrir o arquivo, o conteúdo não é texto puro, é o objeto serializado.
Tem um artigo do GUJ que explica o que tu tá querendo fazer:

http://www.guj.com.br/article.show.logic?id=13

Abraço!