guava-io

GUAVA IO 对很多IO的读写操作进行了封装,大大减少了io的读写操作

1.public static List<String> readLines(File file, Charset charset): 将文件中的文字以BufferedReader.readline的方式读取成一行行字符串
@Test
    public void testFiles() throws IOException {
        String fileName = "/Users/jiabei/Downloads/CLEARING.sql";
        File file = new File(fileName);
        List<String> result = Files.readLines(file, Charsets.UTF_8);
    }
2.public static <T> T readLines(File file, Charset charset, LineProcessor<T> callback):读取文件并按照自定义回调方法处理读取的行数据
@Test
    public void testFiles() throws IOException {
        String fileName ="/Users/jiabei/Downloads/CLEARING.sql";
        File file = new File(fileName);
        List<Source> list = Files.readLines(file, Charsets.UTF_8, new LineProcessor<List<Source>>() {
            private ArrayList<Source> list = Lists.newArrayList();
            @Override
            public boolean processLine(String s) throws IOException {
                if(s.contains("/*")){
                    Source source = new Source();
                    source.setName(s);
                    list.add(source);
                }
                return true;
            }
            @Override
            public List<Source> getResult() {
                return this.list;
            }

        });
        for (Source source : list) {
            System.out.println(source.getName());
        }
    }
3.public static void copy(File from, File to):文件复制
@Test
    public void testFiles() throws IOException {
        String fileName ="/Users/jiabei/Downloads/CLEARING.sql";
        File file = new File(fileName);
        Files.copy(file,new File("/Users/jiabei/Downloads/to.sql"));
    }

4.public static void move(File from, File to):移动文件到目标路径
@Test
    public void testFiles() throws IOException {
        String fileName = "/Users/jiabei/Downloads/CLEARING.sql";
        File file = new File(fileName);
        Files.move(file, new File("/Users/jiabei/Downloads/to.sql"));
    }
5.public static ByteSource asByteSource(File file):将file转换为字节数组,两种方式
@Test
    public void testFiles() throws IOException {
        String fileName ="/Users/jiabei/Downloads/CLEARING.sql";
        File file = new File(fileName);
        ByteSource byteSource = Files.asByteSource(file);
        byte[] read = byteSource.read();
        String string = new java.lang.String(read);
        System.out.println(string);
    }

 

posted @ 2018-02-02 13:47  jiabei  阅读(201)  评论(0编辑  收藏  举报