虚位以待(AD)
虚位以待(AD)
首页 > 软件编程 > Java编程 > java中的文件操作总结(干货)

java中的文件操作总结(干货)
类别:Java编程   作者:码皇   来源:互联网   点击:

本篇文章主要介绍了java中的文件操作总结(干货),主要有文件读写,遍历文件夹,文件夹操作等,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。

File类简介

    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 {
    }
    }
    }

文件夹操作

    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可以创建多级目录 }
    }

文件属性设置

    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();
    //只读 }
    }
    }

遍历文件夹

    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);
    }
    }
    }
    }

文件简单读写

    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();
    }
    }
    }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关热词搜索: java中对文件操作 java 文件操作 java 文件