Επιστροφη Vector σε Java....

Συζητήσεις για γλώσσες προγραμματισμού και θέματα σχετικά με προγραμματισμό.
Post Reply
User avatar
Spy
Kilobyte level
Kilobyte level
Posts: 443
Joined: Mon Dec 12, 2005 9:40 pm
Academic status: Alumnus/a
Gender:
Location: Ε-75, Ε-65, Ε-90
Contact:

Επιστροφη Vector σε Java....

Post by Spy » Sat Mar 03, 2007 1:25 am

Code: Select all

import java.io.*;
import java.util.Vector;
public class readFiles {
	public Object Vector read(String filename) throws IOException {
		
		Vector objects = new Vector();
		File fp = new File(filename);
		ObjectInputStream obstr = null;
		try
			{
				obstr = new ObjectInputStream(new BufferedInputStream(new FileInputStream(fp)));
				
				objects.add(obstr.readObject());

				obstr.close();
			}
			catch ( IOException ioe ) {}
			catch ( ClassNotFoundException cnfe ) {}
	}
	return objects;
}
Μια βοηθεια ρε παιδια! Καπου στην 4η σειρα εχω το λαθος.... ετσι δεν ειναι?
User avatar
Einherjar
Venus Project Founder
Venus Project Founder
Posts: 3751
Joined: Tue Jan 27, 2004 4:42 pm
Academic status: Alumnus/a
Gender:
Location: Washington DC, USA
Contact:

Post by Einherjar » Sat Mar 03, 2007 1:35 am

Code: Select all

public Vector read(String filename) throws IOException {
[Better to understand a little than to misunderstand a lot]
User avatar
Spy
Kilobyte level
Kilobyte level
Posts: 443
Joined: Mon Dec 12, 2005 9:40 pm
Academic status: Alumnus/a
Gender:
Location: Ε-75, Ε-65, Ε-90
Contact:

Post by Spy » Sat Mar 03, 2007 1:37 am

Eυχαριστω αλλα δεν δουλευει... το δοκιμασα
User avatar
Einherjar
Venus Project Founder
Venus Project Founder
Posts: 3751
Joined: Tue Jan 27, 2004 4:42 pm
Academic status: Alumnus/a
Gender:
Location: Washington DC, USA
Contact:

Post by Einherjar » Sat Mar 03, 2007 1:53 am

Προφανώς πετάγεται IOException αλλά επιδή δε το "πιάνεις" δε το βλέπεις. Βάλε κάτι μέσα στις αγκύλες σαν

Code: Select all

ioe.printStackTrace
;)
[Better to understand a little than to misunderstand a lot]
User avatar
HdkiLLeR
Venus Project Founder
Venus Project Founder
Posts: 4356
Joined: Tue Jan 27, 2004 4:41 pm
Academic status: Alumnus/a
Gender:
Location: New York, NY
Contact:

Post by HdkiLLeR » Sat Mar 03, 2007 10:35 am

Einherjar wrote:Προφανώς πετάγεται IOException αλλά επιδή δε το "πιάνεις" δε το βλέπεις. Βάλε κάτι μέσα στις αγκύλες σαν

Code: Select all

ioe.printStackTrace
;)
Ή ένα System.err.println(ioe.getMessage());

για να δεις τι error έχεις!
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS d-->--- s+:+ a- C++(+++) BILS++++$ P--- L++++>+++++ E--- W+++ N+ o+ K w--
O M+ V-- PS++>+++ PE- Y++ PGP++ t+ 5+ X+ R* tv b++ DI- D+ G+++ e+++>++++ h r++ y++
------END GEEK CODE BLOCK------

"UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity." -- Dennis Ritchie
User avatar
Zifnab
Venus Former Team Member
Posts: 7581
Joined: Tue Nov 15, 2005 2:42 am
Academic status: MSc
Gender:
Location: Connecticut
Contact:

Post by Zifnab » Sat Mar 03, 2007 1:27 pm

Βασικά για να μου κάνει compile πρέπει εκτός από αυτό που είπε ο Einherjar, να μπει το return objects; μέσα στο από πάνω block...Επίσης εφόσον το class είναι public το αρχείο java πρέπει να λέγεται readFiles.java.Τέλος όπως είπαν και τα παιδία πρέπει να βάλεις κάτι στο catch για να δεις τι error/exception πετάγεται... Προτείνω(διορθώστε με αν κάνω λάθος) να βγάλεις το throws IOException διότι με το try catch δεν πρόκειται να πετάξει ποτέ! - Μην ξεχνάμε τι λέει ο compiler (The XException must be caught or declared to be thrown) ;)

δηλαδή:

Code: Select all

import java.io.*;
import java.util.Vector;
public class readFiles {
   public Object Vector read(String filename) {
      Vector objects = new Vector();
      File fp = new File(filename);
      ObjectInputStream obstr = null;
      try
         {
            obstr = new ObjectInputStream(new BufferedInputStream(new FileInputStream(fp)));  
            objects.add(obstr.readObject());
            obstr.close();
         }
         catch ( IOException ioe ) {}
         catch ( ClassNotFoundException cnfe ) {}
    return objects;
   }
}
User avatar
Spy
Kilobyte level
Kilobyte level
Posts: 443
Joined: Mon Dec 12, 2005 9:40 pm
Academic status: Alumnus/a
Gender:
Location: Ε-75, Ε-65, Ε-90
Contact:

Post by Spy » Sun Mar 04, 2007 2:44 am

Zifnab wrote:Βασικά για να μου κάνει compile πρέπει εκτός από αυτό που είπε ο Einherjar, να μπει το return objects; μέσα στο από πάνω block...Επίσης εφόσον το class είναι public το αρχείο java πρέπει να λέγεται readFiles.java.Τέλος όπως είπαν και τα παιδία πρέπει να βάλεις κάτι στο catch για να δεις τι error/exception πετάγεται... Προτείνω(διορθώστε με αν κάνω λάθος) να βγάλεις το throws IOException διότι με το try catch δεν πρόκειται να πετάξει ποτέ! - Μην ξεχνάμε τι λέει ο compiler (The XException must be caught or declared to be thrown) ;)

δηλαδή:

Code: Select all

import java.io.*;
import java.util.Vector;
public class readFiles {
   public Object Vector read(String filename) {
      Vector objects = new Vector();
      File fp = new File(filename);
      ObjectInputStream obstr = null;
      try
         {
            obstr = new ObjectInputStream(new BufferedInputStream(new FileInputStream(fp)));  
            objects.add(obstr.readObject());
            obstr.close();
         }
         catch ( IOException ioe ) {}
         catch ( ClassNotFoundException cnfe ) {}
    return objects;
   }
}
Εμενα δεν μου κανει compile!!!!!!!!!! Tο δοκιμασα και αυτο!
User avatar
apo
bit level
bit level
Posts: 17
Joined: Sat Jun 18, 2005 7:49 pm
Location: Keratsini

Post by apo » Sun Mar 04, 2007 3:39 am

Λοιπόν πρέπει από τον επιστρεφόμενο τύπο της μεθόδου να βγάλεις το Object. Επίσης σε ένα vector πρέπει να δηλώνεις τον τύπο των αντικειμένων που θα προσθέσεις.Το παρακάτω μεταγλωττίζεται. Τώρα δεν ξέρω τι ακριβώς θέλεις να κάνεις με την υλοποίηση...

Code: Select all

import java.io.*;
import java.util.Vector;
public class readFiles {
   public Vector read(String filename) {
      Vector <Object> objects = new Vector<Object>();
      File fp = new File(filename);
      ObjectInputStream obstr = null;
      try
         {
            obstr = new ObjectInputStream(new BufferedInputStream(new FileInputStream(fp))); 
            objects.add(obstr.readObject());
            obstr.close();
         }
         catch ( IOException ioe ) {System.out.println("dsf");}
         catch ( ClassNotFoundException cnfe ) {System.out.println("Dfs");}
    return objects;
   }
}
User avatar
Zifnab
Venus Former Team Member
Posts: 7581
Joined: Tue Nov 15, 2005 2:42 am
Academic status: MSc
Gender:
Location: Connecticut
Contact:

Post by Zifnab » Sun Mar 04, 2007 4:34 am

Spy wrote:Εμενα δεν μου κανει compile!!!!!!!!!! Tο δοκιμασα και αυτο!
:oops:
Ξέχασα να βγάλω το Object από την παράθεση κώδικα :shock:

sorry :oops:
User avatar
Spy
Kilobyte level
Kilobyte level
Posts: 443
Joined: Mon Dec 12, 2005 9:40 pm
Academic status: Alumnus/a
Gender:
Location: Ε-75, Ε-65, Ε-90
Contact:

Post by Spy » Mon Mar 05, 2007 5:58 pm

apo wrote:Λοιπόν πρέπει από τον επιστρεφόμενο τύπο της μεθόδου να βγάλεις το Object. Επίσης σε ένα vector πρέπει να δηλώνεις τον τύπο των αντικειμένων που θα προσθέσεις.Το παρακάτω μεταγλωττίζεται. Τώρα δεν ξέρω τι ακριβώς θέλεις να κάνεις με την υλοποίηση...

Code: Select all

import java.io.*;
import java.util.Vector;
public class readFiles {
   public Vector read(String filename) {
      Vector <Object> objects = new Vector<Object>();
      File fp = new File(filename);
      ObjectInputStream obstr = null;
      try
         {
            obstr = new ObjectInputStream(new BufferedInputStream(new FileInputStream(fp))); 
            objects.add(obstr.readObject());
            obstr.close();
         }
         catch ( IOException ioe ) {System.out.println("dsf");}
         catch ( ClassNotFoundException cnfe ) {System.out.println("Dfs");}
    return objects;
   }
}
Σε ευχαριστω παρα πολυ και καταλαβα και την βλακεια μου!!!!!
Post Reply

Return to “Προγραμματισμός”