Différence entre les méthodes de création de fichiers en Java
Nov 28, 2019 pm 01:57 PM區(qū)別:
mkdir
和mkdirs
:mkdir只能用來創(chuàng)建文件夾,且只能創(chuàng)建一級目錄;
mkdirs同樣只能用來創(chuàng)建文件夾,可創(chuàng)建多級目錄 ,如果上級不存在,就會(huì)自動(dòng)創(chuàng)建。
createNewFile
:只能用來創(chuàng)建文件,且只能在已存在的目錄下創(chuàng)建文件。
一般情況下配合使用,附上一段代碼,會(huì)在自定義的目錄下創(chuàng)建名為111的docx文件,將inputString字符串內(nèi)容寫入其中。
想學(xué)習(xí)java么,這里有免費(fèi)視頻教程:java教學(xué)視頻
示例演示如下:
import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; public class Modify { public static void main(String[] args) throws IOException { String path = "F:\\Users\\yyy\\Desktop\\111.docx"; Modify modify = new Modify(); modify.create("hhh",path); } /** * * @param inputString 需寫入的字符串內(nèi)容 * @param path 文件創(chuàng)建的路徑 * @throws IOException */ private void create(String inputString,String path) throws IOException { String newPath = path.substring(0,path.lastIndexOf("\\")); File file = new File(newPath); if (!file.exists()){ file.mkdirs(); } File newFile = new File(path); if (!newFile.exists()){ newFile.createNewFile(); } ByteArrayInputStream input = new ByteArrayInputStream(inputString.getBytes()); int index; byte[] bytes = new byte[1024]; FileOutputStream fs = new FileOutputStream(path); while ((index = input.read(bytes)) != -1) { fs.write(bytes, 0, index); fs.flush(); } fs.close(); input.close(); } }
大家都在查看的教程:java編程入門
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Pré-formancetartuptimemoryusage, quarkusandmicronautleadduetocompile-timeprocessingandgraalvsupport, withquarkusofperforming lightbetterine scénarios.

GradleisthebetterChoiceFormostNewProjectsDuetOtsSuperiorflexibility, Performance et ModerNtoolingSupport.1.gradle’sgroovy / kotlindslismoreConcis

Tout d'abord, CheckifThefnKeySettingisInterferingyTryingBothThevolumeKeyAlonEndfn volumeKey, thentogglefnlockwithfn espifavailable.2.enterbios / uefidUringbootAnableFunctionKeysordiSablehotKeyModetoenSureVolumeSarereCognined.3.updateorreinstallAdriodriving

Calculé a un cache et les accès multiples ne sont pas recalculés lorsque la dépendance reste inchangée, tandis que les méthodes sont exécutées à chaque fois qu'elles sont appelées; 2.COMPUT est adapté aux calculs basés sur des données réactives. Les méthodes conviennent aux scénarios où les paramètres sont requis ou les appels fréquents, mais le résultat ne dépend pas de données réactives; 3.Coupation prend en charge les getters et les setters, ce qui peut réaliser la synchronisation bidirectionnelle des données, mais les méthodes ne sont pas prises en charge; 4. Résumé: Utilisez d'abord calculé pour améliorer les performances et utilisez des méthodes lors de la réussite des paramètres, de l'exécution d'opérations ou d'éviter le cache, en suivant le principe de "Si vous pouvez utiliser calculé, vous n'utilisez pas de méthodes".

Utilisez la méthode .equals () pour comparer le contenu de la cha?ne, car == ne compare les références d'objet plut?t que le contenu; 1. Utilisez .equals () pour comparer également les valeurs de cha?ne; 2. Utiliser .EqualSignoreCase () pour comparer l'ignorance du cas; 3. Utilisez .Compareto () pour comparer les cha?nes dans l'ordre du dictionnaire, renvoyant 0, nombres négatifs ou positifs; 4. Utiliser .CompareToIgnoreCase () pour comparer le cas Ignorer; 5. Utilisez des objets.equals () ou de la méthode d'appel s?r pour traiter les cha?nes nulles pour éviter les exceptions de pointeur nul. En bref, vous devez éviter d'utiliser == pour les comparaisons de contenu de cha?ne, sauf s'il est explicitement nécessaire de vérifier si l'objet est en phase.

L'utilisation de String.join () (Java8) est la méthode recommandée la plus simple pour connecter les tableaux de cha?ne, spécifiez simplement le séparateur directement; 2. Pour les anciennes versions de Java ou lorsque plus de contr?le est nécessaire, vous pouvez utiliser StringBuilder pour traverser et épisser manuellement; 3. StringJoiner convient aux scénarios qui nécessitent des formats plus flexibles tels que les préfixes et les suffixes; 4. Utilisation de Arrays.Stream () combinée avec des collectionneurs.joining () convient au filtrage ou à la conversion du tableau avant de rejoindre; Pour résumer, si Java8 et supérieur est utilisé, la méthode String.join () doit être préférée dans la plupart des cas, ce qui est concis et facile à lire, mais pour une logique complexe, elle est recommandée.

Le module de journalisation de Python peut écrire des journaux dans les fichiers via FileHandler. Tout d'abord, appelez le processeur et format de fichier de configuration BasicConfig, tels que la définition du niveau sur les informations, en utilisant FileHandler pour écrire app.log; Deuxièmement, ajoutez StreamHandler pour atteindre la sortie à la console en même temps; Les scénarios avancés peuvent utiliser TimeRotingFileHandler pour diviser les journaux par le temps, par exemple, définir quand = 'Midnight' pour générer de nouveaux fichiers chaque jour et conserver 7 jours de sauvegarde, et assurez-vous que le répertoire de journal existe; Il est recommandé d'utiliser GetLogger (__ Name__) pour créer des journalistes nommés et produire

Le NIO plut?t que Bio doit être préféré car il est basé sur les canaux et les tampons, prend en charge les E / S non bloquantes et implémente la gestion unique de la gestion de la greffe de plusieurs connexions via le sélecteur, ce qui réduit considérablement les frais généraux du thread; 2. La transmission de fichiers importante doit utiliser FileChannel.transferto () pour obtenir une copie nulle; 3.
