Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

  • 0
RHAguiar

Dúvida referente carregamento de arquivo em JAVA

Pergunta

Boa tarde!

Estou com problema pra finalizar um projeto,

1º eu crio um objeto - ok
2º eu salvo o objeto criado em dat- ok
3º eu carrego os arquivos criados no dat,
4º Eu imprimo todos os objetos armazenados no dat.

As duas últimas partes aparentemente não estão funcionando, porém como não esta apresentando nenhum erro não estou conseguindo identificar o que esta acontecendo.

 

package menu;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JOptionPane;
import java.io.EOFException;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
public class Menu {

	public static void main(String[] args) {
		Cilindro cil;
		Cone con;
		EquacaoDoSegundoGrau equ;
		Paralelepipedo par;
		Ponto pon;
		Triangulo tri;

		// Listas pra armazenar os valores
		List<Ponto> guardarPon = new ArrayList<>();
		List<Triangulo> guardarTri = new ArrayList<>();
		List<Cone> guardarCon = new ArrayList<>();
		List<Cilindro> guardarCil = new ArrayList<>();
		List<Paralelepipedo> guardarPar = new ArrayList<>();
		List<EquacaoDoSegundoGrau> guardarEqu = new ArrayList<>();

		//Escolhe qual forma deseja criar
		String opcao = "Sim";
		while ("Sim".equals(opcao) || "sim".equals(opcao) || "SIM".equals(opcao)) {
			int escolha;
			escolha = Integer.parseInt(
					JOptionPane.showInputDialog(null, "O que deseja realizar? \n "
							+ "Digite 1 para carregar os objetos criados \n "                            
							+ "Digite 2 para criar um Ponto\n "
							+ "Digite 3 para criar um Triangulo\n "
							+ "Digite 4 para criar um Cone\n "
							+ "Digite 5 para criar um Cilindo\n "
							+ "Digite 6 para criar um Paralelepipedo\n "
							+ "Digite 7 para criar uma Equação de Segundo grau\n "
							+ "Digite 8 para salvar os objetos criados \n "
							+ "Digite 9 para imprimir os objetos criados"));

			switch (escolha) {
				
				case 1:
					carregar("pon.dat", guardarPon);
					carregar("tri.dat", guardarTri);
					carregar("con.dat", guardarCon);
					carregar("cil.dat", guardarCil);
					carregar("par.dat", guardarPar);
					carregar("equ.dat", guardarEqu); 
					break;
					
				case 2:
					// criar objeto
					pon = new Ponto();
					// guardar ele em uma lista
					guardarPon.add(pon.lerDadosXY());
					break;

				case 3:
					tri = new Triangulo();
					guardarTri.add(tri.lerDadosTriangulo());
					break;

				case 4:
					con = new Cone();
					guardarCon.add(con.lerDadosCone());                
					break;

				case 5:
					cil = new Cilindro();
					guardarCil.add(cil.lerDadosCilindro());
					break;

				case 6:
					par = new Paralelepipedo();
					guardarPar.add(par);
					break;

				case 7:
					equ = new EquacaoDoSegundoGrau();
					guardarEqu.add(equ.lerDadosEquacaoDoSegundoGrau());
					break;
					
				case 8:
					salvar("pon.dat", guardarPon);
					salvar("tri.dat", guardarTri);
					salvar("con.dat", guardarCon);
					salvar("cil.dat", guardarCil);
					salvar("par.dat", guardarPar);
					salvar("equ.dat", guardarEqu);
					break;
					
				case 9:
					// Imprimir todas as formas criadas na tela
					System.out.println("Pontos criados:");
					for (int i = 0; i < guardarPon.size(); i++) {
						try {
							System.out.println(guardarPon.get(i).getX() + " " + guardarPon.get(i).getY());
						} 
						catch (Exception e){
							System.out.println(e.getMessage());
							}
					}
					
					System.out.println("Triângulos criados:");            
					for (int i = 0; i < guardarTri.size(); i++) {
						try {
							System.out.println(guardarTri.get(i).getBase() + " " + guardarTri.get(i).getAltura() + " " + guardarTri.get(i).getArea() + " " + guardarTri.get(i).getPerimetro());
						}
						catch(Exception e){
							System.out.println(e.getMessage());
						}
					}
					
					System.out.println("Cones criados:");                 
					for (int i = 0; i < guardarCon.size(); i++) {
						try{
							System.out.println(guardarCon.get(i).getRaiobase() + " " + guardarCon.get(i).getAltura() + " " + guardarCon.get(i).getPerimetro());
						}
						catch(Exception e){
							System.out.println(e.getMessage());
						}
					}
					
					System.out.println("Cilindros criados:");                   
					for (int i = 0; i < guardarCil.size(); i++) {
						try{
							System.out.println(guardarCil.get(i).getRaio() + " " + guardarCil.get(i).getAltura() + " " + guardarCil.get(i).getAreaTotal() + " " + guardarCil.get(i).getVolume());
						}
						catch(Exception e){
							System.out.println(e.getMessage());
						}
					}

					System.out.println("Paralelepípedos criados:");
					for (int i = 0; i < guardarPar.size(); i++) {
						try{
							System.out.println(guardarPar.get(i).getAltura() + " " + guardarPar.get(i).getLargura() + " " + guardarPar.get(i).getComprimento() + " " + guardarPar.get(i).getVolume());
						}
						catch(Exception e){
							System.out.println(e.getMessage());
						}
					}

					System.out.println("Equações do Segundo Grau criadas:");
					for (int i = 0; i < guardarEqu.size(); i++) {
						try{
							System.out.println(guardarEqu.get(i).getA() + " " + guardarEqu.get(i).getB() + " " + guardarEqu.get(i).getC() + " " + guardarEqu.get(i).getDelta() + " " + guardarEqu.get(i).getX1() + " " + guardarEqu.get(i).getX2());
						}
						catch(Exception e){
							System.out.println(e.getMessage());
						}
					}                   
					break;             

				default:
					System.out.println("Opcão escolhida incorreta, selecione conforme indicador no menu");

			}

			opcao = JOptionPane.showInputDialog("Deseja realizar outra Operação? ( ''Sim'' para continuar)");

		}



	}



	public static boolean salvar (String document, List arl) {
			try{
				FileOutputStream fos = new FileOutputStream(document); 
				ObjectOutputStream out = new ObjectOutputStream(fos);
				for (int i=0; i<arl.size(); i++) {
					out.writeObject( arl.get(i) );
				}
				out.close();
				fos.close();
			} catch(Exception ex){
				   JOptionPane.showMessageDialog(null, "Erro salvando objetos... " + ex.getMessage());
				   return false;
			}
			return true; 
	}

	public static boolean carregar (String document, List arl) {
			FileInputStream fis;
			ObjectInputStream in;       
			try{
				fis = new FileInputStream(document);
				in = new ObjectInputStream(fis);
				arl.clear();
				boolean sair = false; 
				do {                
					 try {
						 Object info = in.readObject();
						 arl.add(info);
					  }
					  catch (EOFException normalEof) { 
						 sair=true;
					  }            
				} while (!sair);            
				in.close();
				fis.close();
			} catch(Exception e){
				JOptionPane.showMessageDialog(null, "Erro carregando objetos... " + e.getMessage());
				return false;
			}
			return true;     
	}  
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

1 resposta a esta questão

Recommended Posts

Não consigo ver qual o erro porque você não disponibilizou o código inteiro.
Na documentação diz que o readObject lança outras exceções: https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInputStream.html#readObject--
Está escrevendo o código no Eclipse? O depurador não ajudou em nada?

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Pessoal, pergunta bem simples. Abaixo tenho o seguinte código:
       
      <script>
      function alerta()
      {
        if (window.confirm("Você realmente quer sair?")) {
          window.open("sair.html");
      }
      }
      </script>
       
      Funciona perfeitamente, só que está abrindo em outra janela e quero que abra na mesma janela.
       
      Alguém pode me ajudar?
    • Por Jack Oliveira
      Ola pessoal boa tarde
      estou tentando fazer um texto se mover dentro do input porem nao esta dando resultado que preciso
       
      Este é o codigo 
      <script type="text/javascript"> $(document).ready(function () { var frases = [{ 'elemento': $('input[name=search_string]'), 'frases': ["O que você está procurando?", "Buscar por: Academia, Barbearia, Churrascaria, Decoração, Escola, Farmácia, Gráfica, Imobiliaria, Lanchonete, Mecânica, Odontologia, Pizzaria...", "Faça sua busca por segmentos aqui.", "São mais de 3mil empresas para serem exploradas."] }]; animaInput(frases); }); </script>  
    • Por Rengavitp
      Boa noite pessoal!
       
      Estou fazendo um projeto web com spring boot e é a primeira vez que lido com imagens. Minha idéia é salvar imagens em uma pasta e depois recuperar essa imagem e mostrar, mas o problema que estou enfrentando é o seguinte, seu eu envio para o src do projeto na pasta imagens, eu até consigo acessar as imagens, mas preciso atualizar o projeto na IDE (isso vai acontecer em produção?) eu tentei salvar em uma pasta fora do source do projeto mas ai não consigo acessar. como devo fazer? fiz várias pesquisas, mas nenhuma me ajudou.
       
      Desde já agradeço.
    • Por Rengavitp
      Bom dia pessoal!

      Estou com o seguinte problema, tenho uma aplicação que funciona perfeitamente rodando na minha IDE (Spring Tool Suite) mas ao gerar o arquivo war e subir a aplicação no tom cat ele não funciona, mas apenas erro 404, abri o war e todos os arquivo estão lá, já tem seguir tudo quando e tutorial com problemas semelhantes mas nenhum resolveu. Abaixo mais informações,.

      Versão do java na aplicacao 11
      Versão do jva no servidor 11
      Versão do tomcat no servidor 8.5.55
       
      minha classe principal
      package br.com.masterplastfitas; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; @SpringBootApplication public class MasterApplication extends SpringBootServletInitializer { public static void main(String[] args) { SpringApplication.run(MasterApplication.class, args); } @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { return builder.sources(MasterApplication.class); } } meu pom.xml
      <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.7.2</version> <relativePath /> <!-- lookup parent from repository --> </parent> <groupId>masterplast</groupId> <artifactId>Master</artifactId> <version>2.0</version> <packaging>war</packaging> <name>Master</name> <description>Aplicação web </description> <properties> <java.version>11</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional> </dependency> <dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>mssql-jdbc</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>org.thymeleaf.extras</groupId> <artifactId>thymeleaf-extras-springsecurity5</artifactId> </dependency> <dependency> <groupId>org.mindrot</groupId> <artifactId>jbcrypt</artifactId> <version>0.4</version> </dependency> <dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <version>5.5.0</version> </dependency> </dependencies> <build> <plugins> <!-- <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> --> </plugins> </build> </project>  
    • Por Stephhany909
      While trying to persist an object with an attribute of type Point, defined as follows:
       
      @Entity @Table(name = "event") public class Event { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id") private long id; @Column(columnDefinition = "POINT") private Point coordinate; } I'm getting the error Data truncation: Cannot get geometry object from data you send to the GEOMETRY field.
      The corresponding database table is defined as follows:
       
      create table event ( id bigint not null auto_increment, coordinate POINT, primary key (id) ) engine= InnoDB; What am I missing?
       
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.