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?? :look: