zoukankan      html  css  js  c++  java
  • java读写文件IO

    package Common.readFile;
    
    import Common.tool.User;
    import com.fasterxml.jackson.databind.ObjectMapper;
    
    import java.io.*;
    import java.nio.charset.Charset;
    import java.nio.file.Files;
    import java.nio.file.Path;
    import java.nio.file.Paths;
    import java.util.Map;
    
    /**
     * @author: 
     * @date: 2018/12/21
     * @description:
     */
    public class UserIO {
        private static final ObjectMapper objectMapper = new ObjectMapper();
        public static void main(String[] args) throws IOException {
            getFileInputStream();//FileInputStream
            getFileOutputStream();//FileOutputStream
            getBufferedReaderAndBufferedWriter();//BufferedReader和BufferedWriter
            getInputStreamReader();//InputStreamReader
            getnewBufferedReader();//Path和newBufferedReader
            Convert();//对象转化为json,json转化为map
        }
    
        /**FileInputStream的用法*/
        public static void getFileInputStream(){
            try {
                String path = "D:/1.txt";
                File file = new File(path);
                //参数是file或者path,都一样,都可以
                FileInputStream fileInputStream = new FileInputStream(path);//文件输入流
                byte[] data = new byte[1024];
                fileInputStream.read(data);
                String str = new String(data, "GBK");
                System.out.println(str);
            } catch (Exception e) {
    
            }
        }
        /**FileOutputStream的用法*/
        public static void getFileOutputStream(){
            try {
                FileOutputStream fileOutputStream = new FileOutputStream("D:/02.txt");
                String name = "FileOutputStream类提供了多种文件写入方法,可以单独写一个字节到文" +
                        "件,也可以写一个byte数组到文件,也可以取byte数组的部分数据写入到文件。";
                fileOutputStream.write(name.getBytes("utf-8"));//文件输出流
                fileOutputStream.flush();
                fileOutputStream.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
    
        }
        /**BufferedReader和BufferedWriter的用法*/
        public static void  getBufferedReaderAndBufferedWriter() throws IOException {
            Path path = Paths.get("D:/1.txt");
            if (path.toFile().exists()) {
                long size = path.toFile().length()/(1024*1024);
                System.out.println("文件大小为:" + size + "M");
            }
            //产生乱码
            BufferedReader reader = new BufferedReader(new FileReader(new File("D:/1.txt")));
            BufferedWriter bfw = new BufferedWriter(new FileWriter(new File("D:/03.txt")));
            String line = null;
            try {
                while ((line = reader.readLine()) != null) {
                    System.out.println(line);
                    bfw.write(line);
                   bfw.newLine();
                }
            } catch (Exception e) {
                e.printStackTrace();
            }finally {
                bfw.close();
            }
        }
        /**InputStreamReader的用法*/
        public static void getInputStreamReader() throws IOException {
            Path path = Paths.get("D:/1.txt");
            if (path.toFile().exists()) {
                long size = path.toFile().length()/(1024*1024);
                System.out.println("文件大小为:" + size + "M");
            }
            //不产生乱码
            BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(path.toFile()),"GBK"));
            BufferedWriter bfw = new BufferedWriter(new FileWriter(new File("D:/04.txt")));
            String line = null;
            try {
                while ((line = reader.readLine()) != null) {
                    System.out.println(line);
                    bfw.write(line);
                    bfw.newLine();
                }
            } catch (Exception e) {
                e.printStackTrace();
            }finally {
                bfw.close();
            }
        }
    
        /**Path和newBufferedReader的用法*/
        public static void getnewBufferedReader() throws IOException {
            Path path = Paths.get("D:/1.txt");
            if (path.toFile().exists()) {
                System.out.println("文件存在");
            }
            BufferedReader reader = Files.newBufferedReader(path, Charset.forName("GBK"));
            BufferedWriter bfw = new BufferedWriter(new FileWriter(new File("D:/05.txt")));
            String line = null;
            try {
                while ((line = reader.readLine()) != null) {
                    bfw.write(line);
                    bfw.newLine();
                }
            } catch (Exception e) {
                e.printStackTrace();
            }finally {
                bfw.close();
            }
        }
    
        /**对象转化为json,json转化为map*/
        public static void Convert() throws IOException {
            User user = new User("yiqq",28);
            System.out.println(user);
            //对象转Json
            String json = objectMapper.writeValueAsString(user);
            System.out.println(json);
            //Json转map
            Map param = objectMapper.readValue(json, Map.class);
            System.out.println(param);
        }
    }
  • 相关阅读:
    SQL GROUPING 运算符
    SQL 中各种各样的函数
    SQL 窗口函数简介
    [OpenWrt] 简单的策略路由
    简略讲解OpenWrt的路由配置(单播路由/静态路由、策略路由、IGMP组播路由)
    WPF中XAML中使用String.Format格式化字符串示例
    链接服务器使用OPENQUERY性能提升
    VSCode中不能使用cnpm的解决方案
    SQL执行时间计算常用的两种方法
    C# 实现简体中文和繁体中文的转换
  • 原文地址:https://www.cnblogs.com/heqiyoujing/p/10155655.html
Copyright © 2011-2022 走看看