Cet article présente principalement un résumé des opérations sur les fichiers en Java (informations sèches), comprenant principalement la lecture et l'écriture de fichiers, la traversée de dossiers, les opérations sur les dossiers, etc. Il a une certaine valeur de référence et les amis intéressés peuvent s'y référer.
Introduction à la classe de fichiers
package com.file; import java.io.File; import java.io.IOException; /** * Created by elijahliu on 2017/2/10. */ public class filetest { public static void main(String[] args) { File file = new File("hello.txt"); //是否存在 if (file.exists()) { //文件 System.out.println(file.isFile()); //路径(文件夹) System.out.println(file.isDirectory()); File nameto = new File("new Hello.txt"); file.renameTo(nameto);//这里就是重命名文件的操作,直接新建一个file对象然后使用renameTo方法可以重命名文件 } else { System.out.println("文件不存在"); try { file.createNewFile(); System.out.println("文件已被创建"); } catch (IOException e) { System.out.println("文件无法创建"); } } if (file.exists()) { //删除文件 file.delete(); System.out.println("删除文件"); } else { } } }
Opérations sur les dossiers
package com.file; import java.io.File; /** * Created by elijahliu on 2017/2/11. */ public class HelloFolder { public static void main(String[] args) { File folder = new File("my new folder"); if (folder.mkdir()) {//创建文件夹 判断是否成功 System.out.println("文件夹创建完成"); File newfolder = new File("myn new foleder - new"); folder.renameTo(newfolder);//这里重命名了文件夹 文件夹的重命名是可以单独更改一级的文件夹名的 而这一级下面的文件夹不变 保存目录结构 if (folder.delete()) { System.out.print("done");//这里的删除只能删除空文件夹,如果文件夹中有东西,那么则不能删除,不问三七二十一直接删除一个非空文件夹是非常不负责任的 } else { System.out.println("fail"); } }else{ if (folder.exists()) { System.out.println("文件夹已经存在不用创建"); }else{ System.out.println("文件夹创建失败"); } } File folders = new File("my new folder/one/two/three/main"); folders.mkdirs();//在java中用mkdir只能创建一个,mkdirs可以创建多级目录 } }
Paramètres des attributs de fichier
package com.file; import java.io.File; /** * Created by elijahliu on 2017/2/11. */ public class SetFileProperty { public static void main(String[] args){ File file = new File("test.file"); if (file.exists()){ file.setWritable(true);//可写 file.setReadable(true);//可读 file.setReadOnly();//只读 } } }
Dossier Traverse
public void printFiles(File dir,int tab) {//tab为不同目录结构的缩进量 if (dir.isDirectory()) { File next[] = dir.listFiles();//判断如果是目录 则返回目录所有的文件名数组用于遍历文件夹 for (int i = 0;i<next.length;i++) {//层次缩进输出 System.out.print("---"); } for(int i = 0;i<next.length;i++) {//这里用了递归获取目录结构 System.out.println(next[i].getName()); if (next[i].isFile()) { printFiles(next[i],++tab); } } } }
Fichier simple lecture et écriture
package com.file; import java.io.*; /** * Created by elijahliu on 2017/2/11. */ public class ReadFile { public static void main(String[] args) { File file = new File("new Hello.txt"); if(file.exists()){ System.err.print("exsit"); try (FileInputStream fis = new FileInputStream(file)) {//文件输入流 这是字节流 InputStreamReader isr = new InputStreamReader(fis,"UTF-8");//inputstreamReader是一个字节流,将字节流和字符流转化的时候,就需要制定一个编码方式,不然就会乱码 BufferedReader br = new BufferedReader(isr);//字符缓冲区 String line; while((line = br.readLine())!=null){//这里将缓冲区里的内容如果非空就读出来打印 System.out.println(line); } br.close();//最后将各个线程关闭 isr.close(); fis.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } File newfile = new File("newtext.txt"); try { FileOutputStream fos = new FileOutputStream(newfile);//这里如果文件不存在会自动创建文件 OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");//和读取一样这里是转化的是字节和字符流 BufferedWriter bw = new BufferedWriter(osw);//这里是写入缓冲区 bw.write("厉害了我的哥");//写入字符串 bw.close();//和上面一样 这里后打开的先关闭 先打开的后关闭 osw.close(); fos.close(); System.out.println("done"); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
Ce qui précède est une introduction détaillée au résumé des opérations sur les fichiers en Java. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !