• 文件IO流


    //字节流读写含有中文的文本文件会出现问题,我在实践中居然没有检验出该问题,新人小菜,希望大家能指出:
    
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.OutputStreamWriter;
    
    
    public class Wenjian {
        
        public static void main(String[] args) throws IOException, InterruptedException {
    //        字节流1个字节复制纯文本 可以加true
    //        FileInputStream fis = new FileInputStream("tt.txt");
    //        FileOutputStream fos = new FileOutputStream("C:\Users\issuser\Desktop\ttt.txt",true);
    //        int rr = 0;
    //        while((rr=fis.read())!=-1){
    //            fos.write(rr);
    //        }
    //        fis.close();
    //        fos.close();
    
    //        字节流1个字节复制非纯文本 不能加true 在结尾加字节会导致,文件不断累加
    //        FileInputStream fis = new FileInputStream("美女1.jpg");
    //        FileOutputStream fos = new FileOutputStream("C:\Users\issuser\Desktop\meinv.jpg");
    //        int rr = 0;
    //        while((rr=fis.read())!=-1){
    //            fos.write(rr);
    //        }
    //        fis.close();
    //        fos.close();
    
            //字节流多个个字节复制非纯文本 不能加true 在结尾加字节会导致,文件不断累加
    //        FileInputStream fis = new FileInputStream("美女1.jpg");
    //        FileOutputStream fos = new FileOutputStream("C:\Users\issuser\Desktop\meinv1.jpg");
    //        int rr = 0;
    //        byte[] arr = new byte[1024*8];
    //        while((rr=fis.read(arr))!=-1){
    //            fos.write(arr,0,rr);
    //        }
    //        fis.close();
    //        fos.close();
            
            //字节流多个个字节复制非纯文本 不能加true 在结尾加字节会导致,文件不断累加   应该有读取中文问题
            FileInputStream fis = new FileInputStream("checked.html");
            FileOutputStream fos = new FileOutputStream("C:\Users\issuser\Desktop\xx.html");
            int rr = 0;
            byte[] arr = new byte[5];
            while((rr=fis.read(arr))!=-1){
                fos.write(arr,0,rr);
            }
            fis.close();
            fos.close();
            
            //字节流Buff复制非纯文本 不能加true 在结尾加字节会导致,文件不断累加
    //        BufferedInputStream bi = new BufferedInputStream(new FileInputStream("美女1.jpg"));
    //        BufferedOutputStream bo = new BufferedOutputStream(new FileOutputStream("C:\Users\issuser\Desktop\meinv1.jpg"));
    //        int rr = 0;
    //        while((rr=bi.read())!=-1){
    //            bo.write(rr);
    //        }
    //        bi.close();
    //        bo.close();
        
            //字符流1个字符复制 可以加true
    //        FileReader fr = new FileReader("tt.txt");
    //        FileWriter fw = new FileWriter("C:\Users\issuser\Desktop\ttt.txt",true);
    //        int rr=0;
    //        while((rr=fr.read())!=-1){
    //            fw.write(rr);
    //        }
    //        fr.close();
    //        fw.close();
        
            //字符流多个字符复制 可以加true
    //        FileReader fr = new FileReader("tt.txt");
    //        FileWriter fw = new FileWriter("C:\Users\issuser\Desktop\ttt.txt",true);
    //        int rr=0;
    //        char[] arr = new char[1024];
    //        while((rr=fr.read(arr))!=-1){
    //            fw.write(arr,0,rr);
    //        }
    //        fr.close();
    //        fw.close();
        
            //字符流Buffer复制 可以加true
    //        BufferedReader br = new BufferedReader(new FileReader("tt.txt"));
    //        BufferedWriter bw = new BufferedWriter(new FileWriter("C:\Users\issuser\Desktop\ttt.txt"));
    //        
    //        int rr = 0;
    //        while((rr=br.read())!=-1){
    //            bw.write(rr);
    //        }
    //        br.close();
    //        bw.close();
                    
            // 创建输入流
    //                FileReader fr = new FileReader("tt.txt");
    //                FileWriter fw = new FileWriter("C:\Users\issuser\Desktop\ttt.txt");
    //                // 带缓冲的字符流
    //                BufferedReader br = new BufferedReader(fr);
    //                BufferedWriter bw = new BufferedWriter(fw);
    //
    //                String c;
    //                while ((c = br.readLine()) != null) {  // 没有换行
    //                    bw.write(c);
    //                    // 添加新行
    //                    bw.newLine();       // 跨平台
    //                    // bw.write("
    ");    // 只在Windows下有用
    //                }
    //
    //                // 关闭流
    //                br.close();
    //                bw.close();
    //            }
            
    //        // 创建LineNumberReader对象
    //            LineNumberReader lnr = new LineNumberReader(new FileReader("tt.txt"));
    //            
    //            // 设置当前行号
    //            lnr.setLineNumber(100);
    //            
    //            String line;
    //            while( (line = lnr.readLine()) != null ){
    //                // 获取当前行号
    //                System.out.println(lnr.getLineNumber() + ":" +   line);
    //            }
    //            
    //            // 关闭流
    //            lnr.close();
            InputStreamReader isr = new InputStreamReader(new FileInputStream("utf-8.txt"), "UTF-8");
            OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("gbk.txt"), "GBK");
            
        }
    }
  • 相关阅读:
    和远哥一起了解Hadoop的MapReduce是如何运行的
    远哥跟你说 Spring的 classpath 通配符加载配置文件
    远哥Amoeba源码分析之:核心类说明
    远哥推荐:面向网络的数据库 Neo4j
    Hadoop 1.0.3 在CentOS 6.2上安装过程 [个人安装通过的全程记录]
    OpenShift 添加 URL Rewrite 重写支持
    Access中空值处理
    解决EOS启动“不能连接到Server”的问题
    [原创]用递归写的一个object 转换成JSON的函数
    JSON反序列的问题原因查找
  • 原文地址:https://www.cnblogs.com/lifusen/p/7284240.html
Copyright © 2020-2023  润新知