• Java基础,输入输出


    
    
    package hanqi.test;
    
    import java.io.File;
    import java.io.IOException;
    
    public class Test02 {
        public static void main(String[] args) {
        
            //目录操作
            File dir =new File("d:/test/newdir");
            
            //判断是否存在
            if(dir.exists())
            {
                System.out.println("目录存在");
            }
            else
            {
                System.out.println("目录不存在");
                //创建新目录
                //只能一次创建最底层的目录
                //要求上层目录必须存在
                //dir.mkdirs();
                
                //可以同时创建多层目录
                dir.mkdirs();
                System.out.println("创建目录成功");
            }
            
            //目录和文件结合操作
            //
            String dir1="d:/test01";
            String filename="test01.txt";
            //File file = new File(dir1,filename);
            //目录的对象
            File d1=new File(dir1);
            //判断目录不存在
            if(!d1.exists())
            {
                //创建目录
                d1.mkdirs();
            }
            File file=new File(d1,filename);
            //创建文件
            try{
            file.createNewFile();
            }catch(IOException e){
                e.printStackTrace();
            }
            
        }
    }
    
    
    
    package hanqi.test;
    
    import java.io.File;
    import java.io.IOException;
    
    public class Test07 {
            
        public static void main(String[] args) {
            
        
        //io流,File类的测试
        
        //实例化某个文件的file对象
        File file = new File("d:/test.txt");
        
        //判断目标是否存在
        if (file.exists())
        {
            System.out.println(file.getName()+"存在");
            //删除
    //        file.delete();
    //        System.out.println(file.getName()+"已删除");
            
            //改名
            //本质:把原有文件以新的文件名和路径进行复制,然后删除源文件
            file.renameTo(new File("d:/test2.txt"));
            //没有提供复制方法
            System.out.println(file.getName()+"文件改名成功");
        }
        else    
        {
            System.out.println(file.getName()+"不存在");
        
            //创建文件
            try{
            file.createNewFile();
            System.out.println("创建"+file.getAbsolutePath());
            }
            catch(IOException e){
            e.printStackTrace();
            }
            }
        }    
            
    }
    package hanqi.test;
    
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    
    public class Test03 {
    
        public static void main(String[] args){
            //字节流
            //输出流  从内存流向文件
            
            try {
                
                //构造方法确定目标文件
                //如果文件不存在,自动创建该文件,但不自动创建目录
                //如果目录不存在,会引发异常
                //FileOutputStream out = new FileOutputStream("d:/text03.txt");
                
                File file = new File("d:/test");
                
                if(!file.exists())
                {
                    file.mkdirs();
                }
                
                File file1 = new File("d:/test03.txt");
                
                FileOutputStream out = new FileOutputStream(file1);
                
                //写入的内容
                String nr="今天是星期一";
                
                //把数据转成byte数组
                byte[] b=nr.getBytes();
                
                //写入数据到文件中    
                //byte[]内容数组
                
                //思考题:把输出流的写入方式由覆盖改为追加
                
                out.write(b);
                
                out.close();        //关闭流 ,释放资源
    
                
                System.out.println("输出流写入文件成功");
                
                //输入流  从文件吧数据读入内存
                FileInputStream in =new FileInputStream("d:/test/test03.txt");
                
                //装在数据的数组
                byte[] b1= new byte[1024];
                
                int i=0;
                
                String  str="";
                
                // 读取数据
                //分段按顺序读取,每次最多读取数组长度大小的数据
                //返回值表示每次读取的数据长度,如果数据读取完或读取失败,返回-1.
                
                while((i = in.read(b1))>0)
                {
                    //组合数据
                    //参数 1 - 起始位置
                    str += new String(b1,0,i);
                    
                }
                
                int j=in.read(b);
                
                System.out.println(j);
                
                System.out.println(str);
                
                in.close();
                
                    
            } catch (Exception e) {
                
                e.printStackTrace();
            }
            
            
        }
    }
    package hanqi.test;
    
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    
    public class Test04 {
        
        public static void main(String[] args){
            
            //追加
            
            //1、先读取源文件内容
            //输入流
            //如果文件不存在,抛出异常
            try {
                FileInputStream in = new FileInputStream("d:/test/test03.txt");
                //byte[]
                byte[] b= new byte[1024];
                        
                //长度
                int i = -1;
                
                //内容
                StringBuilder str= new StringBuilder();
                
                while((i=in.read(b))>0)
                {
                    //组装数据
                    str.append(new String(b,0,i));
                }
            System.out.println(str);
            
            //2、把新内容追加到后面
            str.append("
    这是追加的内容");
            
            //3、把新内容覆盖源文件
            //输出流
            FileOutputStream out = new FileOutputStream("d:/test/test03.txt");
            
            //写入数据
            out.write(str.toString().getBytes());
            
            //释放资源
            out.close();
            
            System.out.println("追加完成");
            
            
            } catch (Exception e) {
                // TODO 自动生成的 catch 块
                e.printStackTrace();
            }
            
    
    }
    }
    package hanqi.test;
    
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    
    public class Test05 {
    
        public static void main(String[] args) throws IOException {
            // TODO 自动生成的方法存根
    
            FileOutputStream out = new FileOutputStream("d:/test/test03.txt",true);
            
            String str ="
    新的构造方法";
            //写入数据
            out.write(str.toString().getBytes());
            
            //释放资源
            out.close();
            
            System.out.println("追加完成");
            
            
            
            
            FileInputStream in = new FileInputStream("d:/test/test03.txt");
            //byte[]
            byte[] b= new byte[1024];
                    
            //长度
            int i = -1;
            
            //内容
            StringBuilder str1= new StringBuilder();
            
            while((i=in.read(b))>0)
            {
                //组装数据
                str1.append(new String(b,0,i));
            }
        System.out.println(str1);
        }
    
    }
  • 相关阅读:
    javaweb学习(十一)—— 使用Cookie进行会话管理
    微信小程序授权登录-获取用户信息-手机号信息-及解密碰到的坑
    mysql数据库乱码问题,数据库和程序链接过程中查询和显示出现中文乱码
    javaWeb项目启动加载java类执行自己想要执行的操作
    spring mvc 把事物处理配置到Controller层
    maven项目外网向内网搬迁问题之找不到本地仓库已经有的jar包
    java 解析json 的各种jar包
    jquery ui 插架 之 dataTable 显示横向滚动条
    jsp spring Mvc前台提交数据到后天乱码
    java cs tab点击切换标签的实现 panel
  • 原文地址:https://www.cnblogs.com/zs6666/p/5912058.html
Copyright © 2020-2023  润新知