java-RandomAccessFile中read()方法的返回值

问题描述

RandomAccessFile中read()方法的返回值

RandomAccessFile raf=
new RandomAccessFile("D:/fis2.txt","rw");
raf.write(100);
raf.seek(0);
int a=raf.read();
System.out.println(a);//输出 100
raf.close();
之前所了解到的知识是:
read()方法返回值是所读取到byte的个数
以上的返回值如何理解?

解决方案

你的理解是有误的,read的api是这样的:

 Reads a byte of data from this file. The byte is returned as an integer in the range 0 to 255

即读取一个字节的数据,并返回这个字节数据对于的byte类型的值。你的代码添加注释如下:

     //将100作为一个字节数据写入文件
            raf.write(100);
            //将指针移到文件开头处
            raf.seek(0);
            //从文件中读取一个字节的数据
            int a = raf.read();
            //输出100说明你读取的一个字节的数据和你先写入的一个字节是同一个
            System.out.println(a);

主要就是seek(0)操作将文件指针重置到开头位置了,如果你没有这个重置操作,那么你read的数据就不是你先前写入的那个字节的数据了。而是文件的下一个字节的数据。

时间: 2024-09-15 19:54:13

java-RandomAccessFile中read()方法的返回值的相关文章

Java模拟HTTP请求如何获取请求页面中ajax方法的返回值

问题描述 Java模拟HTTP请求如何获取请求页面中ajax方法的返回值 我有一个AAA.JSP页面是通过加载百度的地图API的JS文件,再调用其中的ajax请求方法获取地理坐标.地理坐标在该ajax方法的返回参数中的.我现在需要在服务器端获取地理位置信息,因此我通过java程序模拟HTTP请求,去访问AAA.JSP,但因为ajax是异步的,模拟程序访问该页面的时候,其中的ajax方法还没执行结束,服务器就返回了该页面的静态HTML内容,导致我无法获取地理位置信息.请问如何让服务器端在ajax执

java中read方法的返回值

问题描述 java中read方法的返回值 在ByteArrayInputStream中返回"下一个数据字节,如果到达流末尾,则返回 -1".还是不太理解,能详细的说一下吗? 下一个数据字节指的是什么? 这和FileInputStream的返回值一样吗? 解决方案 首先,InputStream是字节读取的,每次读取文件一个字节的数据,并将这个字节的数据转换Java的byte类型的一个整数返回,如果为-1说明读取不到数据了,即到达文件尾部了.read操作就是逐字节地读取数据,所以需要循环操

document.getElementsByTagName()方法的返回值

document.getelementsbytagname()方法的返回值 /* document.getelementsbytagname()方法的返回值中取出某个特定的元素.一开始以为它的返回值是一个数组,结果,大错特错.它返回的是一个 dom 对象,可以遍历,有 length 属性,但不是数组. 证据在这里: html code<script>     window.onload = function() {        var divs = document.getelementsb

java中一个void修饰的方法无返回值,那么有是不是返回一个空对象,有空对象这种说法吗

问题描述 java中一个void修饰的方法无返回值,那么有是不是返回一个空对象,有空对象这种说法吗 java中一个void修饰的方法无返回值,那么有是不是返回一个空对象,有空对象这种说法吗 解决方案 加入你有一个对象 Object 里面有个方法:public void method1(); 那你调用这个方法的时候就是 object.method1(); 那么这里就表示 没有返回值. 所以我里面的void就是 :没有返回值,这个方法不能做他用! 对比 有一个object 里面有一个方法: publ

java中除了非void方法有返回值需要用到return语句外

问题描述 java中除了非void方法有返回值需要用到return语句外 java中除了非void方法有返回值需要用到return语句外,还有其他什么语句需要retrun语句 因为我看程序源码的时候看到一个方法有两条return 语句,我看来看去只发现这段程序代码只有一个方法,其中还有if....else if语句还有try....catch语句. 解决方案 如果直接return就跳出了这个方法,下面的程序不需用执行,否则还会继续下面的逻辑;代码有时候需要捕捉特定的异常给用户一定的反馈,判断异常

java定时器 run方法怎么返回值 我要返回result 代码里一直报错 晚生跪求解决

问题描述 java定时器 run方法怎么返回值 我要返回result 代码里一直报错 晚生跪求解决 public VirementResultInfo queryTransaction( final String bank, final TransactionInfo transactionInfo) { // final VirementResultInfo result = null; TimerTask task = new TimerTask() { @Override public v

java反射改变方法的返回值

问题描述 java能在运行期间通过反射去改变方法的返回值么? 解决方案 如果这个值是类属性应该是可以改变的 因为反射是可以改变类属性的值 如果这个值是局部变量那应该是改变不了的下面的是通过改变类属性来间接改变方法的返回值public static void main(String[] args) throws Exception{User u=new User();u.setName("HH");Class cla=User.class;Method m=cla.getMethod(&

action中方法的返回值问题

问题描述 action中方法的返回值问题 action中的方法返回值为NONE是什么意思来? 解决方案 返回的是你对应action配置中的result的name值 解决方案二: 此方法无返回视图

Java调用MySQL存储过程并获得返回值的方法_java

本文实例讲述了Java调用MySQL存储过程并获得返回值的方法.分享给大家供大家参考.具体如下: private void empsInDept(Connection myConnect, int deptId) throws SQLException { CallableStatement cStmt = myConnect.prepareCall("{CALL sp_emps_in_dept(?)}"); cStmt.setInt(1, deptId); cStmt.execute