I/O流

Posted 挽你何用

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了I/O流相关的知识,希望对你有一定的参考价值。

boolean exists(): 判断这个文件是否存在
boolean mkdir(): 创建文件夹路径(只能建一层)--make Directory
boolean mkdirs(): 创建文件夹路径
createNewFile(): 创建文件
delete(): 删除文件
renameTo(File file): 对文件进行更名操作
getName: 获取文件名称
getPath: 获取文件路径
length: 获取文件大小
isDirectory: 判断这个东西是不是一个目录
isFile: 判断这个东西是不是一个文件
File[] listFiles: 获取当前这个路径下面所有的文件和文件夹

 

import java.io.File;

public class FileTest {
    public static void main(String[] args){
         File file=new File("D:\\0603\\Student.txt");
         System.out.println(file.getName());
         printf(file,1);
    } 
    public static void printf(File file,int len){
         if(file.exists()){   //检验文件是否存在
             File[] file2 = file.listFiles();
                for(File f:file2){
                    if(f.isDirectory()){    //判断文件是否是一个目录
                        printBlank(len);    //创建空格
                        System.out.println(f.getName());
                        printf(f,len+1);
                    }else{
                        printBlank(len);
                        System.out.println(f.getName());
                    }
                } 
         }else{
             System.out.println("该文件不存在");
         }
     }

    private static void printBlank(int len) {
        for(int i=0;i<len;i++){
            System.out.println("   ");    
        }        
    }  
}

 

 

InputStream,OutputStream

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;


public class Text1 {
    public static void main(String[] args){
        File file=new File("D:\\0603\\person.txt");
        //File file_out=new File("D:\\0603\\Student.txt");
        int a=-1;
        try{
            InputStream in = new FileInputStream(file);
            //OutputStream out= new FileOutputStream(file_out);
            while((a=in.read()) != -1){
                System.out.print((char)a);
            }
            in.close();
            
        }catch(FileNotFoundException e){
            e.printStackTrace();
        }catch(IOException e){
            e.printStackTrace();
        }
    } 
}

 

BufferedReader,BufferedWriter

 

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;

public class Text2 {
    public static void main(String[] args){
        String content[] = {"Java部","快速入门"};  //定义字符串数组
        File file=new File("D:\\0603\\Student.txt");
        Reader reader = null;      //定义字符串
        try{
            FileWriter fw = new FileWriter(file);    // 创建FileWriter类对象
            BufferedWriter bufw = new BufferedWriter(fw);   //创建BufferedWriter类对象
            for(int k=0;k<content.length;k++){   //循环遍历数组
                bufw.write(content[k]);   //将字符串数组中元素写入到磁盘文件中
                bufw.newLine();     //将数组中的单个元素以单行的形式写入文件
            }
            bufw.close();
            fw.close();
        }catch(Exception e){
            e.printStackTrace();
        }
        
        try{
            reader = new FileReader(file);     //创建FileReader类对象
            BufferedReader br= new BufferedReader(reader);    // 创建BufferedReader对象
            
            String s=null;    //创建字符串对象
            while((s = br.readLine())!= null){     //将变量做自增运算
                System.out.println(s);      //输出文件数据
            }
            br.close();      //将BufferedReader流关闭
        }catch(FileNotFoundException e){
            e.printStackTrace();   //处理异常
        }catch(IOException e){
            e.printStackTrace();
        }
    }
}

 

以上是关于I/O流的主要内容,如果未能解决你的问题,请参考以下文章

Java I/O流详解与应用

I/O流

笔记:I/O流-文件操作

Java中的I/O流

笔记:I/O流-字符集

I/O多路复用是什么?(I/O multiplexing)