es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Estoy intentando enviar un archivo como parámetro a un método, pero no sé cómo hacerlo.

public static void createFile() {

    File file = new File("C:\\Users\\egecoskun\\Desktop\\javafiles\\ananınamı.txt");
    try {
        if (file.createNewFile()) {
            System.out.println("¡Archivo creado!");

        } else {
            System.out.println("¡El archivo ya existe!");
        }
    } catch (IOException e) {
        e.printStackTrace();
    }

}

public static void readFile(File file) {
    try {
        Scanner reader = new Scanner(file);
        while (reader.hasNextLine()) {
            String line = reader.nextLine();
            System.out.println(line);
        }
    } catch (FileNotFoundException e) {

        e.printStackTrace();
    }

}

public static void main(String[] args) {
    File file = new File("C:\\Users\\egecoskun\\Desktop\\javafiles\\ananınamı.txt");
    createFile();
    readFile(file);

}

Aquí está mi método createFile para crear un archivo.

public static void readFile(File file) {
    try {
        Scanner reader = new Scanner(file);
        while (reader.hasNextLine()) {
            String line = reader.nextLine();
            System.out.println(line);
        }
    } catch (FileNotFoundException e) {

        e.printStackTrace();
    }

}

y este método está leyendo el archivo que estoy creando. Pero necesita tomar File como argumento, pero cuando intento ejecutar este método en Main

```java
public static void main(String[] args) {
    createFile();
    readFile(file);

}

El error que estoy obteniendo es “file no se puede resolver como una variable”. ¿Alguien ve mi error? ¿Puedes explicarlo, por favor?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    El error en el código es que la variable ‘file’ no está definida en el método principal antes de llamar al método ‘readFile’ con ella como argumento.

    Para solucionar esto, puedes definir la variable ‘file’ en el método principal antes de llamar al método ‘createFile’ y luego pasarla como argumento al método ‘readFile’.

    Por ejemplo:

    public static void main(String[] args) {
    File file = new File(“C:\Users\egecoskun\Desktop\javafiles\ananınamı.txt”);
    createFile();
    readFile(file);
    }

    Esto crea la variable ‘file’ y la pasa como argumento tanto a los métodos ‘createFile’ como ‘readFile’.

Comments are closed.