在Java中,如何从文件中获取最后一个数字?
我有下面的代码,我在计算文件中的行数。我还想检索最后一行(整数):在Java中,如何从文件中获取最后一个数字?,java,Java,我有下面的代码,我在计算文件中的行数。我还想检索最后一行(整数): 试试看{ 字节[]c=新字节[1024]; 整数计数=0; int readChars=0; 布尔空=真; 而((readChars=is.read(c))!=-1){ for(int i=0;ijavac ParentClass2.Java ParentClass2.Java:90:byte 不能取消引用 lastLine=c[i].intValue() 如何将字节转换为int?错误被忽略的原因是,您尝试转换为整数的最后一个字
试试看{
字节[]c=新字节[1024];
整数计数=0;
int readChars=0;
布尔空=真;
而((readChars=is.read(c))!=-1){
for(int i=0;i
我添加了此行-lastLine=c[I].intValue();
但这就产生了错误:
C:\Java\u Scratch>javac ParentClass2.Java ParentClass2.Java:90:byte
不能取消引用
lastLine=c[i].intValue()
如何将字节转换为int?错误被忽略的原因是,您尝试转换为整数的最后一个字节不是所需文件中的最后一个整数,而是文件末尾的“\n” 要获取最后一行,您可以按原样在文件中循环,但要创建一个变量来跟踪最后一行。下面是一个源于以下内容的示例: 注意:本例中的“in”是一个,但您也可以使用任何其他文件读取器
要从最后一行提取数字,请使用以下命令:
int lastLineValue = Integer.parseInt(lastLine);
注意:Integer.parseInt(x)接受任何字符串作为参数并返回包含的整数
您还询问了如何将字节转换为int。有两种方法:
intx=c[i];
double d=5;
如何完美地工作一样
字节b=c[i];
int x=b.intValue();
byte
是一个原语,它没有可以在上面执行的“方法”。可以试试(int)c[i];
instead@MadProgrammer-好的,明白了-谢谢!@MadProgrammer-奇怪的事情-这确实编译了,但即使最后一行是27
它告诉我它是10
,这在二进制中并不是真正的意义。你必须以某种方式解释这些字节,以便在整数上下文中理解它们。if(c[i]=='\n'){..lastLine=(int)c[i];}
,是什么让你认为lastLine
将是\n
的int
表示之外的东西?
String currentLine = "", lastLine = "";
while ((currentLine = in.readLine()) != null)
{
lastLine = currentLine;
// Do whatever you need to do what the bytes in here
// You could use lastLine.getBytes() to get the bytes in the string if you need it
}
int lastLineValue = Integer.parseInt(lastLine);