implementar - Cómo usar Buffered Reader en Java
jsf bootstrap primefaces (2)
Lo siento si esta es una pregunta obvia, pero parece que no puedo entenderla. Estoy trabajando en una tarea para un curso de Estructuras de datos. Implica extraer datos de un simple archivo .dat. Nunca antes habíamos usado ninguna de las opciones de acceso a archivos en Java, por lo que el profesor nos dio el código de trabajo para esa pieza. Así que una clase llamada ''FileReadExample'' crea un nuevo objeto de lector de búfer, abre un archivo y luego se supone que expulsa un montón de datos sobre ese archivo. Pero no puedo acceder a ninguno de los datos en absoluto. En un archivo testMain separado, creo un nuevo objeto FileReadExample llamado fr y luego intento imprimir cosas como fr.readLine () desde allí, pero me dice que no existe tal método. Estoy seguro de que me estoy perdiendo algo asombrosamente fácil.
EDITAR - El Código de los Profesores:
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!");
}
}
}
Puedo publicar el código que dio el profesor, pero no puedo encontrar la manera de obtener el formato correcto en estas publicaciones. ¿Estoy leyendo correctamente que tengo que poner cuatro espacios delante de cada línea para obtener el formato del código aquí? ¿No hay forma de bloquear un montón de código a la vez? Una vez más, siento que me estoy perdiendo algo extremadamente fácil allí.
Gracias.
Intenta esto para leer un archivo:
BufferedReader reader = null;
try {
File file = new File("sample-file.dat");
reader = new BufferedReader(new FileReader(file));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
Por lo que entiendo, fr es el objeto de su clase FileReadExample. Por lo tanto, es obvio que no tendrá ningún método como fr.readLine () si usted no crea uno.
en segundo lugar, creo que un constructor correcto de la clase BufferedReader te ayudará a hacer tu tarea.
String str;
BufferedReader buffread = new BufferedReader(new FileReader(new File("file.dat")));
str = buffread.readLine();
.
.
buffread.close();
Esto debería ayudarte.