美文网首页
java十六(字符和字节的输入和输出)

java十六(字符和字节的输入和输出)

作者: Nic_ofh | 来源:发表于2017-10-04 21:56 被阅读0次

    * 没有用文本就用字节

    * 用到文本就要字符

    一、字节的写入和读取

    package File类;
    
    import java.io.*;
    
    public class 文件写入和读取 {
        public static void main(String[] args) {
    
            File file = new File("./1.js");
            // writeFile(file, "欧富华");
            // appendFileContent(file, "欧富华");
            getFileContent(file);
    
        }
    
        // 写入文件就是输出流
        public static void writeFile(File file, String content) {
            // 写入就是输出流
            try {
                FileOutputStream out = new FileOutputStream(file);
                out.write(content.getBytes());
                System.out.println("写入成功");
                out.close(); // 关闭流
            } catch (Exception e) {
            }
        }
    
        // 文件追加内容
        public static void appendFileContent(File file, String content) {
            // 写入就是输出流
            try {
                FileOutputStream out = new FileOutputStream(file, true);
                out.write(content.getBytes());
                System.out.println("追加写入成功");
                out.close(); // 关闭流
            } catch (Exception e) {
            }
        }
    
        // 文件读取就是输入流
        public static void getFileContent(File file) {
            try {
                int len = 0;
                StringBuilder stringBuilder = new StringBuilder();
    
                byte[] bytes = new byte[1024]; // 定义读取数量
    
                FileInputStream fileInputStream = new FileInputStream(file);
    
                // 不等于-1就是存在字节
                while ((len=fileInputStream.read(bytes)) != -1) {
                    System.out.println((char)len);
                    System.out.println(11111);
                    stringBuilder.append(new String(bytes), 0, 7);
                }
    
                fileInputStream.close(); // 关闭流
    
                System.out.println(stringBuilder);
    
                fileInputStream.close();
    
            } catch (Exception e) {
            }
    
        }
    }
    
    

    二、字符写入和读取

    package File类;
    
    import java.io.*;
    
    public class 字符write和read {
        public static void main(String[] args) {
            File file = new File("1.js");
            wirte(file);
            read(file);
        }
    
        public static void wirte(File file) {
            try {
    
                Writer writer = new FileWriter(file, true);
                writer.write("我叫欧富华");
                writer.close();
    
            } catch (Exception e) {
    
            }
        }
    
        public static void read(File file) {
            try {
    
                Reader reader = new FileReader(file);
                char[] c = new char[1]; // 一个字符
                StringBuilder stringBuilder = new StringBuilder();
    
                while ((reader.read(c)) != -1) {
                    stringBuilder.append(new String(c));
                }
    
                reader.close();
    
                System.out.println(stringBuilder);
    
            } catch (Exception e) {
    
            }
    
        }
    }
    
    

    三、案例(文件的复制)

    package File类;
    
    import java.io.*;
    
    public class copyDemo {
        public static void main(String[] args) {
            copyBytes("1.js", "copy.js");
            copyChars("1.js", "copy1.js");
            System.out.println("复制成功");
        }
    
        // 字节的复制
        static void copyBytes(String src, String targer) {
            FileInputStream fileInputStream = null;
            FileOutputStream fileOutputStream = null;
            try {
                File srcFile = new File(src);
                File targerFile = new File(targer);
    
                fileInputStream = new FileInputStream(srcFile);  // 读取
                fileOutputStream = new FileOutputStream(targerFile); // 写入
    
                byte[] bytes = new byte[1024];
                int len = -1;
                while ((len = fileInputStream.read(bytes)) != -1) {
                    fileOutputStream.write(bytes, 0, len);
                }
    
            } catch (Exception e) {
    
            } finally {
                try {
                    if (fileInputStream != null) fileInputStream.close();
                    if (fileOutputStream != null) fileOutputStream.close();
                } catch (Exception e) {
    
                }
    
            }
    
        }
    
        public static void copyChars(String src, String targer) {
            Reader reader = null;
            Writer writer = null;
            try {
                File srcFile = new File(src);
                File targerFile = new File(targer);
    
                reader = new FileReader(srcFile);
                writer = new FileWriter(targerFile);
                int len = -1;
                char[] chars = new char[1];
                while ((len = reader.read(chars)) != -1) {
                    writer.write(chars, 0, len);
                }
    
            } catch (Exception e) {
    
            } finally {
                try {
                    if (writer != null) writer.close();
                    if (reader != null) reader.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
    
    

    相关文章

      网友评论

          本文标题:java十六(字符和字节的输入和输出)

          本文链接:https://www.haomeiwen.com/subject/ovocyxtx.html