java-File.length和BufferedReader.length的问题

问题描述

File.length和BufferedReader.length的问题

读取文件File,累加read.length大概是file.length的85%左右。这是怎么回事?求大神帮忙看看。

 File file = new File(path);
            long fileLength = file.length();
            length = reader.readLine().length();// 去除表头
            // 解析
            while ((line = reader.readLine()) != null) {
                try {
                    length += line.length();
                    } catch (NumberFormatException e) {
                    Log.d("NumberFormatException", e.getMessage());
                } catch (Exception e) {
                    e.printStackTrace();
                }
                }
                Log.d("Test", myPercent(length, fileLength));

                ////
                public static String myPercent(long y, long z) {
        String baifenbi = "";// 接受百分比的值
        double baiy = y * 1.0;
        double baiz = z * 1.0;
        double fen = baiy / baiz;
        NumberFormat nf = NumberFormat.getPercentInstance(); // 注释掉的也是一种方法
        nf.setMinimumFractionDigits(2); // 保留到小数点后几位
        // DecimalFormat df1 = new DecimalFormat("##.00%"); // ##.00%
        // 百分比格式,后面不足2位的用0补齐
        baifenbi = nf.format(fen);
        // baifenbi = df1.format(fen);
        return baifenbi;
    }

解决方案

可能存在一些诸如换行符的不可视字符

解决方案二:

String length()是字符个数,而不是字节数。
应该使用
byte[] data = str.getBytes();
使用data.length获取字节的数目。

解决方案三:

java.lang.String.length() 方法返回此字符串的长度。长度是等于Unicode代码单元中的字符串的数目

java.io.File.length() 返回此抽象路径名定义的文件的长度,以字节为单位。

时间: 2024-09-17 06:02:50

java-File.length和BufferedReader.length的问题的相关文章

我的Java开发学习之旅------>Java NIO 报java.nio.charset.MalformedInputException: Input length = 1异常

今天在使用Java NIO的Channel和Buffer进行文件操作时候,报了java.nio.charset.MalformedInputException: Input length = 1异常,具体如下: java.nio.charset.MalformedInputException: Input length = 1 at java.nio.charset.CoderResult.throwException(CoderResult.java:260) at java.nio.char

Java中的length字段和length()方法

首先,你能快速回答下面的问题吗? 如果没有IDE(集成开发环境)的自动补全功能,如何获取数组和字符串的长度? 我问了不同等级的开发者(初级和中级)同样的问题,他们很难准确而确信地给出答案.虽然IDE提供的代码自动补全功能十分方便,但也带来了"表面理解(surface understanding)"的问题.在本文中,我会解释一些和Java数组的关键概念. 上述问题的答案如下: int[] arr = new int[3]; System.out.println(arr.length);/

Java File类的常用方法总结

 这篇文章主要介绍了Java File类的常用方法总结,本文讲解了File类的常用方法,并对一些方法给出了代码示例,需要的朋友可以参考下     Java File类的功能非常强大,利用Java基本上可以对文件进行所有的操作.本文将对Java File文件操作类进行详细地分析,并将File类中的常用方法进行简单介绍,有需要的Java开发者可以看一下. 构造函数 代码如下: public class FileDemo { public static void main(String[] args)

java File类的基本使用方法总结_java

Java IO中File的使用是比较频繁的,在文件的上传和删除中都会用到的.比如我们在写管理系统的时候有可能会用到图片的上传,和删除.那么我们就会用到Java的 File来处理. Java中File的基本使用创建和删除文件: public class FileDemo { public static void main(String[] args) { File f=new File("d:"+File.separator+"io.txt"); //File.sep

Java File类的常用方法总结_javascript技巧

Java File类的功能非常强大,利用Java基本上可以对文件进行所有的操作.本文将对Java File文件操作类进行详细地分析,并将File类中的常用方法进行简单介绍,有需要的Java开发者可以看一下. 构造函数 复制代码 代码如下: public class FileDemo {      public static void main(String[] args){          //构造函数File(String pathname)          File f1 =new Fi

java file获取目录硬盘己用空间与可用空间代码

java file获取目录硬盘己用空间与可用空间代码 获取指定目录空间大小   import java.io.File; public class SpaceChecker {   public static void main(String[] args) {     File[] roots = File.listRoots();     for (int i = 0; i < roots.length; i++) {       System.out.println(roots[i]);

java File.listFiles() 返回值无法操作的问题

问题描述 java File.listFiles() 返回值无法操作的问题 File[] files = myfileFile.listFiles();//**这个返回值无法操作,是怎么回事.** for(File f : files) { System.out.println("1"); if(f.exists()) //这里我的测试文件是存在的,但exists()返回false. { System.out.println("10"); } if(f.canRea

java File中 相关path疑问

问题描述 java File中 相关path疑问 File中的 getPath()和 getAbsolutePath(),getCanonicalPath() 有什么区别? 我自己验证是打印出的路径都一样,谁能举例或者能说出区别 ? 非常感谢 D:STSworkspace-stsinvoicingtargettest-classescnhyxiofiletesttest1.hyx.csv D:STSworkspace-stsinvoicingtargettest-classescnhyxiofi

Java File Copy Library v0.9.7发布

Java http://www.aliyun.com/zixun/aggregation/19352.html">File Copy Library 提供了一种简易的方法用于执行大量的文件拷贝工作,可定义批处理进行文件复制,复制的过程可通过一个进度条显示. The Java File Copy Library is a software library that provides an easy and powerful API for file copy operations. You