Scusate se questa è una domanda ovvia, ma non riesco a capirlo. Sto lavorando a un incarico per un corso sulle strutture dati. Si tratta di estrarre dati da un semplice file .dat. Non avevamo mai usato nessuna delle opzioni di accesso ai file in Java, quindi il professore ci ha appena dato il codice funzionante per quel pezzo. Quindi una classe chiamata 'FileReadExample' crea un nuovo oggetto lettore bufferizzato, apre un file e quindi dovrebbe estrarre un gruppo di dati su quel file. Ma non posso accedere a nessuno dei dati. In un file testMain separato, creo un nuovo oggetto FileReadExample chiamato fr e poi provo a stampare cose come fr.readLine() da lì, ma mi dice che non esiste un tale metodo. Sono sicuro che mi manca qualcosa incredibilmente facile.Come usare Buffered Reader in Java
EDIT - Il Codice Professori:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class FileReadExample
{
public static void main(String[] args)
{
System.out.println("got here");
try
{
BufferedReader in = new BufferedReader(new FileReader(new File("sample-file.dat")));
System.out.println("File open successful!");
int line = 0;
for (String x = in.readLine(); x != null; x = in.readLine())
{
line++;
System.out.println(x);
if (line <= 3)
{
String[] tokens = x.split(" ");
System.out.println("Number of tokens in line " + line + ": " + tokens.length);
System.out.println("The tokens are:");
for (String token : tokens)
{
System.out.println(token);
}
}
else
{
String[] tokens = x.split("\\|");
System.out.println("Number of tokens in line " + line + ": " + tokens.length);
System.out.println("The tokens are:");
for (String token : tokens)
{
System.out.println(token);
}
Integer[] values = new Integer[tokens.length];
Integer sum = 0;
for (int i = 0; i < tokens.length; i++)
{
sum += Integer.parseInt(tokens[i]);
}
System.out.println("Sum: " + sum);
}
}
} catch (IOException e)
{
System.out.println("File I/O error!");
}
}
}
posso pubblicare il codice il professore ha dato, ma non riesco a capire come ottenere la formattazione proprio in questi posti. Sto leggendo che devo mettere quattro spazi davanti a ogni riga per ottenere la formattazione del codice correttamente qui? Non c'è modo di bloccare un intero gruppo di codice contemporaneamente? Di nuovo, mi sento come se mi mancasse qualcosa di estremamente facile lì.
Grazie.
per eseguire un blocco di codice, premere la barra spaziatrice 8 volte e incollare il codice. – user2277872
se lo google fuori, sono sicuro che è necessario ottenere un sacco di esempi! – sanbhat
Hanno perso la testa. E YouTubed. E cercato qui. Da tutto quello che posso vedere, dovrebbe funzionare. L'unica cosa che ho trovato che potrebbe essere il problema è che è tutto contenuto in un try/catch. Ma non sono sicuro del perché questo sia importante. –