java控制台文件输入输出及目录操作

2018/02/01 Java 共 1696 字,约 5 分钟

读取控制台输入

    BufferedReader br = new BufferedReader(new 
                        InputStreamReader(System.in));

    br.read()   or  br.readLine()

控制台输出

控制台的输出由 print() 和 println() 完成。这些方法都由类 PrintStream 定义,System.out 是该类对象的一个引用。

PrintStream 继承了 OutputStream类

System.out.println();

文件读写

PrintStream ps=new PrintSteam(new FileOutputStream("c:\\datain.txt"));

ps.println(s);

br = new BufferedReader(new FileReader("/home/zjz/Desktop/myfile.txt"));  

Java中的目录

创建目录:

File类中有两个方法可以用来创建文件夹:

mkdir( )方法创建一个文件夹,成功则返回true,失败则返回false。失败表明File对象指定的路径已经存在,或者由于整个路径还不存在,该文件夹不能被创建。 mkdirs()方法创建一个文件夹和它的所有父文件夹。

    import java.io.File;
    
    public class CreateDir {
    public static void main(String args[]) {
        String dirname = "/tmp/user/java/bin";
        File d = new File(dirname);
        // 现在创建目录
        d.mkdirs();
    }
    }

注意: Java 在 UNIX 和 Windows 自动按约定分辨文件路径分隔符。如果你在 Windows 版本的 Java 中使用分隔符 (/) ,路径依然能够被正确解析。

读取目录

一个目录其实就是一个 File 对象,它包含其他文件和文件夹。

如果创建一个 File 对象并且它是一个目录,那么调用 isDirectory() 方法会返回 true。

可以通过调用该对象上的 list() 方法,来提取它包含的文件和文件夹的列表。

下面展示的例子说明如何使用 list() 方法来检查一个文件夹中包含的内容:

    import java.io.File;
    
    public class DirList {
    public static void main(String args[]) {
        String dirname = "/tmp";
        File f1 = new File(dirname);
        if (f1.isDirectory()) {
        System.out.println( "目录 " + dirname);
        String s[] = f1.list();
        for (int i=0; i < s.length; i++) {
            File f = new File(dirname + "/" + s[i]);
            if (f.isDirectory()) {
            System.out.println(s[i] + " 是一个目录");
            } else {
            System.out.println(s[i] + " 是一个文件");
            }
        }
        } else {
        System.out.println(dirname + " 不是一个目录");
        }
    }
    }

删除目录或文件

删除文件可以使用 java.io.File.delete() 方法。

以下代码会删除目录/tmp/java/,即便目录不为空。

    import java.io.File;
    
    public class DeleteFileDemo {
    public static void main(String args[]) {
        // 这里修改为自己的测试目录
        File folder = new File("/tmp/java/");
        deleteFolder(folder);
    }
    
    //删除文件及目录
    public static void deleteFolder(File folder) {
        File[] files = folder.listFiles();
            if(files!=null) { 
                for(File f: files) {
                    if(f.isDirectory()) {
                        deleteFolder(f);
                    } else {
                        f.delete();
                    }
                }
            }
            folder.delete();
        }

Search

    Table of Contents