Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Skriva från Vector till en .dat file.

Postades av 2004-10-31 14:10:58 - Alem Bristric, i forum java, Tråden har 1 Kommentarer och lästs av 1009 personer

Hej kära folket!!


har lite problem för att skriva från vektor til filen har lagt två metoder sparaObjekt , och läsInObjekt ... därefter anropar jag dom i en actionPerformed som är kopplat till Interfaces JButton. Problemet är när jag compilerar program då värkar vara ok . Men man får ingen resultat Filen skapas inte som den skulle Göra
sparaObjekt metoden , och inte heller läsa in ... tackar för allt hjälp.

Här är koden


// Hej.java

import java.io.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.*;
import java.io.FileWriter;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.BufferedOutputStream;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;

public class Hej extends JFrame implements ActionListener
{
JTextField svar = new JTextField(10);
JLabel hälsning = new JLabel();
JLabel intext = new JLabel("Skriv in ditt namn", JLabel.RIGHT);
JButton klar = new JButton("klar");
JButton print = new JButton("print"); // *** FIX ***
Color lightBlue = new Color(180,180,255);
Color Brown = new Color(255,150,50);
JButton spara = new JButton("Spara");
JButton lista = new JButton ("Visa high Score");


private String FILNAMN = "Lista.dat" ;
Vector higScore = new Vector();







public Hej(){
//Själva containern
Container c = getContentPane();
c.setLayout(new FlowLayout());
c.setBackground(lightBlue);
c.add(intext);
c.add(svar);
c.add(hälsning);
c.add(klar);
c.add(print);
c.add(spara);
c.add(lista);


// Skapar en ny label
intext.setOpaque (false);
intext.setForeground(Brown);
intext.setFont(new Font("sansSerif", Font.PLAIN, 20));
//Visar vart på fönstret rutan ska vara
hälsning.setHorizontalAlignment(JLabel.RIGHT);
hälsning.setForeground(Brown);
hälsning.setFont(new Font("SansSerif", Font.BOLD, 20));

//anger storlek på fönstret
setSize(640,480);
setVisible(true);

//metod för Knappen klar
print.addActionListener(this);
klar.addActionListener(this);
klar.setHorizontalAlignment(JButton.RIGHT);
klar.setVerticalAlignment(JButton.TOP);
klar.isSelected();
klar.setForeground(Brown);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}

public static void main (String argv[]){
Hej h = new Hej();


}



public void actionPerformed(ActionEvent e)
{
if (e.getSource() == klar) {
if (svar.getText().equals("")) { // OM du har inte skrivit någoting i text boxen
JOptionPane.showMessageDialog(null , "Du har inte skrivit något namn");
}
else {
higScore.add(svar.getText()); // Annars läger du in texten i vectorn.
svar.setText("");
}
}
else if (e.getSource() == print) { // print koden
for (int i = 0; i < higScore.size(); i++) { // forloop for vektorn som går genom och kollar efter längden.
String str = (String) higScore.get(i); // därefter skrivs utt värdena.
System.out.println(str);
}
}

if (e.getSource() == spara){

for (int i = 0; i< higScore.size(); i++)
sparaObjekt(higScore, FILNAMN);
JOptionPane.showMessageDialog(null, "Du har sparat");


}

if (e.getSource()==lista){
läsInObjekt (FILNAMN);
// här skrivs värdena

}

}


public static void sparaObjekt(Object higScore, String FILNAMN){

try {

ObjectOutputStream out = new ObjectOutputStream (new FileOutputStream(FILNAMN));
out.writeObject(higScore);
out.close();
out.flush();
}

catch (IOException ie) {
ie.printStackTrace(); System.exit(1);}



}


public static Object läsInObjekt(String FILNAMN){


Object higScore = null;

try {

ObjectInputStream in = new ObjectInputStream (new FileInputStream(FILNAMN));

higScore = in.readObject();
in.close();

}

catch (IOException ie) {
ie.printStackTrace(); System.exit(1);}
catch (ClassNotFoundException ce) {
ce.printStackTrace(); System.exit(2);}


return higScore;
}

}











Svara

Sv: Skriva från Vector till en .dat file.

Postades av 2004-10-31 23:57:40 - Johan Segolsson

Ja du, det var ett antal fel där...

1. Du inte lagt till actionslistners på knapparna "Spara" och "Visa high Score".
2. Du har en for sats när användaren klickar på spara (om du har löst det ovanstående problemet), men du sparar hela tiden samma objekt (vectorn), vilket i princip betyder att du sparar om vectorn vector.size() gånger.
3. När du ska hämta in vectorn från filen så har du glömt att tilldela den till vectorn så även om du löser 1 så kommer du inte kunna att se att du har hämtat vectorn från filen.
4. I sparaObject så använder du flush efter att du har stängt filen, gör ingen som helst nytta där. Flush kommer ändå att användas när du stänger filen så du behöver inte sätta den före close heller...

Ett litet tips, när du är osäker om visa delar av koden körs, lägg in lite System.out.println() i koden för att se att dom olika delarna verkligen körs sen ska du givetvis ta bort alla println satser...


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 154
27 952
271 704
747
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies