Wątek przeniesiony 2021-04-09 09:17 z Kariera przez Ktos.

Zapisywanie do pliku java

0

Cześć
Ostatnio chciałem napisać program w javie. Miał on polegać na zapisywaniu pliku. Niestety kompilator wykrywa błąd. Kod wygląda tak:

import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.BufferedReader;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		System.out.println("Podaj śćieżke do pliku");
		String filePath = scan.nextLine();
		FileWriter fileWriter = null;
		
		Scanner scan1 = new Scanner(System.in);
		System.out.println("Podaj liczby");
		int number = scan1.nextInt();
		
		try {
			fileWriter = new FileWriter(filePath);
			fileWriter.write(Integer.toString(number));
		}
		
		finally {
			if (fileWriter != null) {
		        fileWriter.close();
			}
		}
	}
}

Szukałem na innych forach i powiedzieli żebym nie dodawał średnika przy

String filePath = scan.nextLine();

Niestety to też nie działa :(

2

Ty klepiesz kod w notatniku?
A nawet jeśli to kompilator powinien powiedzieć co jest nie tak.
Ja widzę że nie masz catcha. Proponuję też skorzystać z normalnego try-with-resources, to w Javie istnieje już z 10 lat...

0

Możliwe że podajesz nieprawidłową ścieżkę w konsoli. Pokaż co wypluwa kompilator

0

Jeżeli nie masz catch, a robisz od razu finally, to musisz dać throws IOException

public static void main(String[] args) throws IOException 

ale catch jest fajny :)

2

Nie musi mieć catcha jeśli ma finally

@Ephyron bredzisz lub majaczysz :P. jeżeli kod rzuca checked exception to albo musi być catch albo sygnatura metody musi zawierać throw czy tam throws

1 użytkowników online, w tym zalogowanych: 0, gości: 1