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