[JAVA] essayer avec des ressources est pratique

Fermer automatiquement les ressources

Comme ouvrir un fichier, essayer-attraper et fermer Je pense que je vais bien le faire Quand j'essaye d'utiliser enfin

longue.java


	// try
		//Fichier ouvert
	
	// catch
		//Gestion des exceptions
	
	// finally
		//Fermer le fichier
	
	public static void main(String[] args) {
		
		String filePath = "C:\\Windows\\System32";
		BufferedReader bufferedReader = null;
		
		try {
			//Fichier ouvert
			File file = new File(filePath);
			
			//Lis
			FileReader fileReader = new FileReader(file);
			bufferedReader = new BufferedReader(fileReader);
			
			//production
			String data;
			while ((data = bufferedReader.readLine()) != null) {
				System.out.println(data);
			}
			
		} catch (IOException e) {
			System.out.println("Hiraken");
			
		} finally {
			if (bufferedReader != null) {
				try {
					bufferedReader.close();
				} catch (IOException e) {
					System.out.println("Tojiren");
				}
			}
		}
	}

Si vous utilisez l'instruction try-with-resource ...

Intelligent.java


	// try
		//Ouvrez le fichier, fermez-le sans autorisation
	
	// catch
		//Gestion des exceptions
	
	public static void main(String[] args) {
		
		String filePath = "C:\\Windows\\System32";
		
		try (FileReader fileReader = new FileReader(new File(filePath));
				BufferedReader bufferedReader = new BufferedReader(fileReader);) {
			
			//production
			String data;
			while ((data = bufferedReader.readLine()) != null) {
				System.out.println(data);
			}
			
		} catch (IOException e) {
			System.out.println("Hiraken");
		}
	}

La variable déclarée entre parenthèses () après try Il sera fermé sans autorisation (java.lang.AutoCloseable)

Avec la portée jusqu'à l'intérieur de la clause try, l'utilisabilité est la même que la déclaration dans la clause try.

Il est trop intelligent et trop pratique de le fermer sans autorisation.

Recommended Posts

essayer avec des ressources est pratique
Le test de paramétrage JUnit 5 est super pratique
10⁹⁹⁴²⁰⁶⁷ correspond à 8 chiffres