每日一练||利用Java文件流读出文件内容以及另存为文件

题目

        将保存在本地机当前文件夹中的a.HTML 文本文件的内容在屏幕上显示出来,然后将其另存为a.txt 文件


思路


        读取文件通过创建输入文件流,由于文件在计算机中是以二进制数0和1保存的,因此读出来之前先要进行获取字节数组;将文件另存为a.txt的文件,我的思路是将原文件的内容读出来之后写入新的路径的文件里。

事例图片

运行结果:

每日一练||利用Java文件流读出文件内容以及另存为文件_第1张图片

运行后的文件夹:

每日一练||利用Java文件流读出文件内容以及另存为文件_第2张图片

我的代码

package shiyan2;

import java.io.*;

public class test2 {

    static String path="D:\\IJ\\SHIYAN\\src\\shiyan2\\a.html";

    public static void main(String[] args) throws IOException {
//       将a.html文件内容读取出来
        File f=new File(path);
        FileInputStream in =new  FileInputStream(f);
        byte b[]=new byte[256];
        int len=in.read(b);//文中字符所占的字节数长度
        System.out.println("文件的内容为:"+new String(b,0,len));//只输出字符串所占长度的内容
        in.close();

//        将a.html另存为a.txt文件
        String ftype=path.substring(path.lastIndexOf(".")+1);
        String newPath=path.replace(".html",".txt");
        if(ftype.equals("html")){
            copy(path,newPath);
        }

        System.out.println("转换前的文件路径:"+path);
        System.out.println("转换后的文件地址:"+newPath);

    }
    public static void copy(String path,String newPath) throws IOException {
       try{
           File f=new File(path);
           if(f.exists()){
               FileInputStream in =new  FileInputStream(f);
               FileOutputStream out=new FileOutputStream(newPath);
               byte[] buffer=new byte[1024];
               int len;
               while ((len=in.read(buffer))!=-1){
                   out.write(buffer,0,len);
               }

           }
       }catch (Exception e){
           e.printStackTrace();
       }
    }
}

 总结

学会了使用文件流读出文件以及写入文件

你可能感兴趣的:(笔记,java,经验分享)