Est-il correct de faire un objet de type Fichier, que j'aimerai écrire plus tard, avoir une déclaration finale? Je voudrais le passer à une classe interne Runnable
.Puis-je créer un fichier final si je veux y écrire plus tard?
Répondre
déclaration final
vous permet d'écrire/lire dans, mais pas changer la référence de l'objet.
final File fileRef = new File("/path/to/my/file.txt");
fileRef = new File("/new/path/to/file"); // illegal
Il n'y a pas de problème, final
ne signifie pas que l'objet lui-même ne peut pas modifier son état. Cela signifie simplement que la variable ne peut pas être réaffectée. Donc, cela s'applique à une chose différente. En plus de cela, un File
est juste une représentation abstraite d'un fichier ou d'un dossier du système de fichiers. Vous n'écrivez pas à travers un objet File
, vous l'utilisez pour ouvrir un flux (par exemple, FileWriter
).
Oui. Faire une variable final
signifie que vous ne pouvez pas le changer pour pointer vers un objet différent. Cependant, vous pouvez faire tout ce que vous voulez avec l'objet sur lequel il pointe.
final File file = new File("foo");
Runnable r = new Runnable() {
public void run() {
file.renameTo("bar"); // Cool.
file.delete(); // Cool.
file = new File("bar"); // Whoa. Not cool.
}
};
Un objet de File
classe est une représentation abstraite d'un fichier ou un répertoire du disque dur réel. Ce n'est pas le fichier ou le dossier physique.
Si vous marquez la variable comme final
, elle ne peut pas être réaffectée. C'est tout. Marquer la variable comme final
ne rendra pas le fichier physique immuable. Si le Runnable
est créé en tant que classe anonyme et que la variable File
est locale à la méthode (paramètre ou variable locale), alors oui. Sinon, non.
- 1. Android si j'utilise WebView.destroy() puis-je le restaurer plus tard?
- 2. Enregistrer l'état actuel du fichier .m, écrire dans un fichier plus tard (Matlab)
- 3. fichier copier coller maintenant plus tard
- 4. Je veux créer un fichier script python: je suis nouveau
- 5. Comment écrire un objet dans un fichier pour l'utiliser plus tard?
- 6. écrire dans un fichier (et lire plus tard) un tableau de structure (vb.net)
- 7. Créer un fichier XML dans Android et lire plus tard à partir de ce fichier
- 8. NHLambdaExtensions: Créer un objet Critère d'ajouter à ICriteria plus tard
- 9. Protractor - Je veux écrire IF ELSE déclaration DRYer, si possible
- 10. Je veux fermer un fichier
- 11. Je veux créer un déclencheur dans mySQL
- 12. Manipuler la valeur textarea pendant "get" sans écrire plus tard
- 13. Mélange de types de géométrie, y a-t-il un coût lorsque je l'interroge plus tard?
- 14. Je veux écrire un code qui crée plus d'un utilisateur sur Facebook. C'est possible?
- 15. Je veux créer un combobox dans wpf
- 16. Comment puis-je retirer un enfant plus tard? (Cocos2d)
- 17. Je dois enregistrer un CGContextRef dans un fichier et les restaurer plus tard
- 18. Budding C# développeur ... Je veux écrire un addon IE9 ... comment?
- 19. Android Studio: désactiver l'avertissement "jamais utilisé" sur les méthodes que je veux utiliser plus tard
- 20. Je veux créer un fichier dans un répertoire dans les ordinateurs avec Java
- 21. Définir plus un point final (pour plus d'une interface)
- 22. Je veux créer plus de déclencheurs sur la même table
- 23. Initialiser objet et le créer plus tard en fonction de la valeur si la déclaration
- 24. Je veux me souvenir d'un (NSIndexPath *) indexPath pour supprimer plus tard, mais s'écrase
- 25. Comment utiliser UIWebView pour afficher un fichier téléchargé plus tard?
- 26. Si je sauvegarde des données persistantes dans onPause(), comment puis-je annuler les modifications plus tard?
- 27. UILocalNotification - Plus tard
- 28. Écrire un fichier si non existant
- 29. Si je crée un objet dans le code, puis-je me référer plus tard pour apporter des modifications?
- 30. Y at-il un support pour qu'un programme Python puisse écrire un fichier de configuration lisible par l'homme à partir duquel il peut restaurer son état plus tard?