Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 读取文件时缺少第一个字母_Java_Android_File Io - Fatal编程技术网

Java 读取文件时缺少第一个字母

Java 读取文件时缺少第一个字母,java,android,file-io,Java,Android,File Io,我正在从文件中检索数据,由于某种原因,每次都会丢失第一个字符。 我的密码 该文件包含单词“True” 我有“后悔” 当我创建文件时,第一个字母不能是大写?如果我使用大写字母,文件就永远找不到了,我猜这两个字母没有关系 char[] inputBuffer = new char[isr.read()]; //str.length() 这不会从你的阅读器中读出一个字符吗 编辑:isr.read()将读取单个字符(即第一个字符) 要获取文件的大小,可以使用 long length = new

我正在从文件中检索数据,由于某种原因,每次都会丢失第一个字符。 我的密码

该文件包含单词“True” 我有“后悔” 当我创建文件时,第一个字母不能是大写?如果我使用大写字母,文件就永远找不到了,我猜这两个字母没有关系

    char[] inputBuffer = new char[isr.read()]; //str.length()
这不会从你的阅读器中读出一个字符吗

编辑:

isr.read()将读取单个字符(即第一个字符)

要获取文件的大小,可以使用

long length = new File(fileName).length()

有关详细信息,请参阅函数。

您可以使用File类查找文件的长度:

File f=new File("c:\\new\\abc.txt");
f.length()将返回字节大小

您还应该关闭打开的文件。通过
isr.close()

如果该文件是
文本
文件,则通过
BufferedReader
读取该文件

  StringBuilder sb=new StringBuilder();
  BufferedReader br=null;

  try{
   br=new BufferedReader(new InputStreamReader(openFileInput(fileName));
   String line=null;
   while((line = br.readLine()) != null)
    {
      sb.append(line);
     }
   }catch(Exception ex){
     //
   }finally{
    if(br!=null)
      br.close();
   }
  return sb.toString();

这个文件里有什么?仅字符序列“True”,还是以一个字节的长度信息开头?方法
isr.read()
读取第一个字符。仅单词“True”是一个基本文本文件。isr.read我以为只会给出文件的长度。我应该尝试什么呢?不是根据:@John-不,它读取文件的内容。如果需要文件的长度,请根据名称构造一个
文件
对象,然后调用
length()
。但是,这将告诉您以字节为单位的长度,而不是以字符为单位的长度。根据编码的不同,某些字符可能会使用多个字节。是的,我明白了。我不想知道长度,但代码需要一个。如果我删除isr.read,我会得到“变量必须提供维度表达式或数组初始值设定项”
  StringBuilder sb=new StringBuilder();
  BufferedReader br=null;

  try{
   br=new BufferedReader(new InputStreamReader(openFileInput(fileName));
   String line=null;
   while((line = br.readLine()) != null)
    {
      sb.append(line);
     }
   }catch(Exception ex){
     //
   }finally{
    if(br!=null)
      br.close();
   }
  return sb.toString();