Ciao a tutti. Riscontro uno strano problema nella gestione dei metodi.
Codice:
import java.io.*;
import java.util.*;
public class Hardware
{
static int accountNumber = 0;
static String name = null;
static int number = 0;
static double price = 0.0;
static RandomAccessFile file = null;
public static void openFile()
{
File vfile = new File("hardware.dat");
if (!vfile.exists())
{
try
{
file = new RandomAccessFile("hardware.dat","rw");
for (int i=0;i<100;i++)
{
file.writeInt(accountNumber);
writeString(name,file);
file.writeInt(number);
file.writeDouble(price);
}
}
catch (IOException e)
{
System.err.println("Errore nella creazione del file");
}
}
public static void writeString(String name,RandomAccessFile file) throws IOException
{
StringBuffer buffer = null;
if (name != null)
{
buffer = new StringBuffer(name);
}
else
{
buffer = new StringBuffer(15);
}
file.writeChars(buffer.toString());
}
}
public static void addRecords()
{
}
public static void closeFile()
{
}
public static void main(String[] args)
{
openFile();
}
}
Così come sta impostato, il programma non funziona. Se invece io sposto il metodo writeString() fuori da openFile(), il programma funziona. Ma perchè se lo lascio in openFile() non funziona??