美文网首页
java:基本输入流读取文件

java:基本输入流读取文件

作者: 老林_ | 来源:发表于2021-04-22 14:28 被阅读0次
    • 为何读取叫输入流,写入叫输出流

      因为是先把文件内容输入到内存中,所以叫输入流
      把内存中的值输出到文件中,所以叫输出流
    • 单字节读取文件

        /**
         * 基础输入流以二进制读取文件
         * @param fileUrl
         */
        private static void printContent(String fileUrl){
            try( FileInputStream in=new FileInputStream(fileUrl)) {
                int available = in.available();
                while (available>0){
                    byte[] data=new byte[available];
                    int read = in.read(data);
                    System.out.print(new String(data));
                    available = in.available();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
    • 关于文件路径的问题

    //读取文件,使用输入流(输入到内存中)
            URL resource = BaseWriteFile.class.getResource("/file4ReadBit.txt");
            //region
            File directory = new File("");//参数为空
            String canonicalPath = directory.getCanonicalPath();//标准的路径
            String absolutePath = directory.getAbsolutePath();//绝对路径
            //项目的路径
            System.out.println(canonicalPath); //G:\java_test\git\jBase
            System.out.println(absolutePath);// G:\java_test\git\jBase
            //endregion
            String path = resource.getPath();
            //编译路径 web应用是要从这里读取的,英文源代码项目在服务器上是不存在的
            System.out.println(path);///G:/java_test/git/jBase/build/resources/main/file4ReadBit.txt
    
            //读取编译路径下的文件
            printContent(path);
            System.out.println("\n-------------------");
    
            String path1=canonicalPath+"/src/main/resources/file4ReadBit.txt";
            //G:/java_test/git/jBase/src/main/resources/file4ReadBit.txt
            //读取源代码路径下的文件
            printContent(path1);
    

    文件路径截图如下


    image.png

    相关文章

      网友评论

          本文标题:java:基本输入流读取文件

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