Java lit les fichiers binaires en octets et peut également lire des images, des fichiers musicaux, des fichiers vidéo, etc. En Java, quatre catégories sont fournies pour exploiter les fichiers, à savoir InputStream, OutputStream, Reader et Writer. Les deux premières sont des opérations sur des flux d'octets et les deux dernières sont des opérations sur des flux de caractères.
FileWriter ne peut accepter que des paramètres sous forme de chaînes, ce qui signifie qu'il ne peut enregistrer le contenu que dans des fichiers texte. Par rapport aux fichiers texte, le stockage de fichiers au format binaire permet d'économiser plus d'espace.
InputStream est utilisé pour lire les données du flux d'entrée en octets. La méthode int read() lit un octet et renvoie une valeur comprise entre 0 et 255 sous la forme d'un entier. Pourquoi lire un octet au lieu de renvoyer directement une valeur de type octet ?
Étant donné que le bit le plus élevé du type octet est le bit de signe, le plus grand entier positif qu'il peut représenter est 127.
InputStream n'est qu'une classe abstraite et ne peut pas être instanciée. FilelnputStream est une sous-classe de InputStream et est utilisée pour lire les octets d'un fichier.
public static void main(String[] args) throws IOException { String filePath = "d:/test.txt"; File file = new File (filePath); //根据文件路径创建一个文件对象 //如果找不到文件,会抛出FileNotFoundException异常 FilelnputStream filelnput = new FilelnputStream(file); } filelnput.close (); //关闭文件输入流,如果无法正常关闭,会抛出IOException异常
La méthode write(int b) dans OutputStream est utilisée pour écrire des données par octets. FileOutputStream est utilisé pour écrire des données dans un fichier en octets. Par exemple, lire le contenu d'un fichier par octets et l'écrire dans un autre nouveau fichier est la fonction de copie de fichier.
File fileln = new File ("source. txt"); //打开源文件 File fileOut = new File ("target.txt”); //打开写入文件,也就是目标文件 FilelnputStream streamln = new FilelnputStream (fileln); //根据源文件构建输入流 FileOutputStream streamOut = new FileOutputStream (fileOut); //根据目标文件构建输出流 int c; //从源文件中按字节读入数据,如果内容还没读完,则继续 while ((c = streamln.read()) != -1) { streamOut .write (c); //写入目标文件 } streamln.close。; //关闭输入流 streamOut.close(); //关闭输出流
Déterminez si le fichier existe déjà et générez le fichier s'il n'existe pas.
File dataFile = new File(dicDir + dataDic); if (!dataFile.exists()) { //如果文件不存在则写入文件 }
Utilisez la méthode File.mkdirs() pour créer des répertoires à plusieurs niveaux. Par exemple, lorsqu'un répertoire n'existe pas, créez-le.
File tempDir = new File(imgPath); if(!tempDir.exists()){ tempDir.mkdirs(); }
De nombreuses vidéos de formation Java, toutes sur le site PHP chinois, bienvenue pour apprendre en ligne !
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!