IO流---写入,读取,复制

练习:将小写的26个字母按照顺序写入到一个文件中
  public static void main(String[] args) throws IOException {
        OutputStream out=new FileOutputStream("student.txt");
        for (int i=0;i<26;i++){
            out.write(97+i);
        }
        
        out.close();
    }
利用IO流,完成以下程序∶
(1)将26个大写字母(A~Z)写入到当前项目a.txt文件中;
(2)读取文件中的内容,将读取的内容连接为一个字符串,并将所有的大写字母转变为小写字母打印输出转换的结果。
public static void main(String[] args) {
        File file = new File("E:\\SpecializedCode\\javase");
        File file1 = new File(file, "./a.txt");
        FileOutputStream out = null;
        FileInputStream input = null;

        try {
            //写入
            file1.createNewFile();
            out = new FileOutputStream(file1);
            for (int i = 0; i < 26; i++) {
                out.write(65 + i);
            }

            //读取
            input = new FileInputStream(file1);
            StringBuilder str = new StringBuilder("");
            int res=0;
            while ((res=input.read()) != -1){
                str.append((char) (res+32));
            }
            System.out.println(str);

        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (out != null)
                    out.close();
                if (input != null)
                    input.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    }

复制

File file = new File("Student.txt");
        File fileCopy = new File("copy.txt");
        fileCopy.createNewFile();

        InputStream input = new FileInputStream(file);
        FileOutputStream out = new FileOutputStream(fileCopy);

        //方法一
        /*int res=0;
        while ((res=input.read()) != -1){
            out.write(res);
        }*/

        //方法二
        byte[] bytes = new byte[5];
        int res=0;
        while ((res=input.read(bytes)) != -1){
            out.write(bytes,0,res);
        }



        out.close();
        input.close();

    }
编程:利用FileInputStream和FileOutputStream,完成下面的要求:
(1)用FileOutputStream往当前目录下“test.txt”文件中写入“HelloWorld”;
(2)利用FileInputStream读入test.txt文件,并在控制台上打印出test.txt中的内容。
(3)要求用try-catch-finally处理异常,并且关闭流应放在最终块中。
public static void main(String[] args) {
        File file = new File("E:\\SpecializedCode\\javase");
        File file1 = new File(file, "./test.txt");
        FileOutputStream out = null;
        FileInputStream input = null;
        try {
            //写入
            file1.createNewFile();
            out=new FileOutputStream(file1);
            String str="Hello World";
            byte[] bytes = str.getBytes();
            out.write(bytes);

            //读取
            input = new FileInputStream(file1);
            int res=0;
            while ((res=input.read()) != -1){
                System.out.print((char) res);
            }


        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            try {
                if (out != null){
                    out.close();
                }
                if (input != null){
                    input.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }




    }
编程︰当前项目的根目录 c.txt文件中的内容为”abddbskshlsjdhhhiw”;编写程序读取文件中的内
容,要求去除重复的字母并按照字母的自然排序后将内容写入到当前项目的根目录d.txt文件中。
  public static void main(String[] args) {
        File file = new File("c.txt");
        File file1 = new File("d.txt");
        FileInputStream input = null;
        FileOutputStream out = null;

        try {
            input = new FileInputStream(file);
            out = new FileOutputStream(file1);
            Set<Character> set = new TreeSet<>();
            int res = 0;
            while ((res = input.read()) != -1) {
                set.add((char) res);
            }
            System.out.println(set);

            for (Character ch : set) {
                out.write(ch);
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (out != null)
                    out.close();
                if (input != null)
                    input.close();
            } catch (IOException e) {
                e.printStackTrace();
            }

        }
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MaGgIeOo0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值