java文件读写

118 阅读1分钟
 import java.io.*;

public class main {

    public static void main(String[] args) {

        test5();

    }

    //    字节流转字符流

    public static void test5(){

        try {

            FileInputStream fis = new FileInputStream("./test11/test.java");

            InputStreamReader isr = new InputStreamReader(fis);

            BufferedReader bis = new BufferedReader(isr);



            FileOutputStream fos = new FileOutputStream("./test11/test.txt");

            OutputStreamWriter osw = new OutputStreamWriter(fos);

            BufferedWriter bos = new BufferedWriter(osw);

            String line = bis.readLine();

            while (line!=null){

                bos.write(line);

                bos.newLine();

                line=bis.readLine();

                bos.flush();

            }

            System.out.println("end");



        } catch (FileNotFoundException e) {

            e.printStackTrace();

        } catch (IOException e) {

            e.printStackTrace();

        }

    }

    //    字符流 缓冲流

    public static void test4(){

        try (FileReader fis = new FileReader("./test11/test.java")) {

            BufferedReader bis = new BufferedReader(fis);

            FileWriter fos = new FileWriter("./test11/test.txt");

            BufferedWriter bos = new BufferedWriter(fos);

            String line = bis.readLine();

            while (line!=null){

                bos.write(line);

                bos.newLine();

                line=bis.readLine();

                bos.flush();

            }

            System.out.println("ok");

        } catch (FileNotFoundException e) {

            e.printStackTrace();

        } catch (IOException e) {

            e.printStackTrace();

        }

    }

    //    字符流

    public static void test3(){

        try {

            FileReader in = new FileReader("./test11/test.java");

            FileWriter out = new FileWriter("./test11/test.txt");

            char[] buffer = new char[10];

            int len = in.read(buffer);

            while (len!=-1){

                String s = new String(buffer);

                System.out.println(s);

                out.write(buffer,0,len);

                len=in.read(buffer);

                out.flush();

            }

        } catch (FileNotFoundException e) {

            e.printStackTrace();

        } catch (IOException e) {

            e.printStackTrace();

        }

    }

    //   字节流 缓冲流

    public static void test2(){

        File file = new File("./test11/test.java");

        File file1 = new File("./test11/test.txt");

        try {

            InputStream fis = new FileInputStream(file);

            BufferedInputStream bis=new BufferedInputStream(fis);

            OutputStream fos = new FileOutputStream(file1);

            BufferedOutputStream bos = new BufferedOutputStream(fos);

            byte[] buffer = new byte[1024];

            int len = bis.read(buffer);

            System.out.println(len);

            while (len!=-1){

                System.out.println(new String(buffer));

                bos.write(buffer,0,len);

                len=bis.read(buffer);

                bos.flush();

            }

            bos.close();

            bis.close();

        } catch (FileNotFoundException e) {

            e.printStackTrace();

        } catch (IOException e) {

            e.printStackTrace();

        }

    }

    //    字节流

    public static void test1(){

        try {

            File file = new File("./test11/test.java");

            File file1 = new File("./test11/test.txt");

            FileInputStream in = new FileInputStream(file);

            FileOutputStream out = new FileOutputStream(file1);

            byte[] buffer = new byte[10];

            int len = in.read(buffer);

            System.out.println(len);

            while(len!=-1){

                String copystr = new String(buffer);

                System.out.println(copystr);

                out.write(buffer,0,len);

                len=in.read(buffer);

            }

        } catch (FileNotFoundException e) {

            e.printStackTrace();

        } catch (IOException e) {

            e.printStackTrace();

        }



    }

    //    文件处理

    public static void test(){

        File dir = new File("test11");

        Filter f = new Filter("java");

        String[] list = dir.list(f);

        for (String filename:

                list) {

            File file = new File(dir, filename);

            if(file.isFile()){

                System.out.println(file.getName());

                System.out.println(file.getAbsolutePath());

                System.out.println(file.getPath());

            }else{

                System.out.println(file);

            }

        }

    }

}

class Filter implements FilenameFilter{

    String extend;

    Filter(String extend){

        this.extend=extend;

    }

    @Override

    public boolean accept(File dir, String name) {

        return name.endsWith("."+extend);

    }

}