首页 > Java > java教程 > 正文

Java随机访问文件

WBOY
发布: 2024-08-30 16:09:41
原创
399 人浏览过

The following article provides an outline for Java RandomAccessFile. The java RandomAccessFile is a class that is used to read and write for a random access file. The RandomAccessFile class is a built-in class in java that defines the java.io.RandomAccessFile package. The random access file is like an array of bytes stored in a file system. Instances. The RandomAccessFile supports both the read and write operation to the random access file. This file maintains a cursor or pointer; by moving the pointer to a specific position, we can perform the read or write operation to the specific position. The EOF Exception is thrown when the file reaches the end of the file before the required number of bytes has been read.

Start Your Free Software Development Course

Web development, programming languages, Software testing & others

Syntax of RandomAccessFile class in java:

Given below is the declaration syntax of java.io.RandomAccessFile class:

public class RandomAccessFile extends Object implements DataInput,DataOutput, Closeable
{
// Constructors and methods of the RandomAccessFile class
}
登录后复制

The above is the syntax of the RandomAccessFile, where it extends to the Object class and implements to the DataOutput, DataInput and Closeable interfaces.

RandomAccessFileclass member Functions:

TheRandomAccessFileclass contains constructors and some functions as a RandomAccessFile class member function.

Constructors of Java RandomAccessFile Class

Given below are the constructors:

  • RandomAccessFile( File f, String opt ): This constructor creates an instance of RandomAccessFile by creating a random access file to read or write (optionally) from or to the specified file in the File.
  • RandomAccessFile(String fname, String opt): This constructor creates an instance of RandomAccessFile by creating a random access file to read or write (optionally) from or to the specified file in the name.

Functions of Java FileInputStream Class

Given below are the functions of the Java FileInputStream Class:

  • int read(): This function is used to read a byte of data from the file.
  • intread(byte[] b): This function is used to read an array of bytes up to b.length bytes.
  • int read(byte[] b, int off, intlen): This function is used to read bytes of data from the input stream up to specified len into destination b array at start offset.
  • int readInt(): This function is used to read a signed 32-bit integer from the file.
  • String readUTF(): This function is used to read the file in the form of a string.
  • FileChannelgetChannel(): This function is used to get the unique FileChannel object of the input file.
  • voidseek(long byte): This function is used to set the offset of the file pointer for the next read or write from the beginning of the file.
  • intskipBytes(int): This function skip n bytes of input.
  • void write(int b): This function is used to write the pass byte to the file.
  • void write(byte[] b): This function write b.length bytes from the specified byte array starting at offset off to this file.
  • void write(byte[] b, int off, intlen): This function write len bytes to file from the pass byte of the array starting at offset off.
  • void writeDouble(double value): This function is used to convert and write the converted specified double value to long (which uses the doubleToLongBits function of class Double) to the file as an 8-byte quantity where the first byte is high.
  • A void writeFloat( float value): This function is used to convert and write the converted specified float value to an int (which uses the floatToIntBits function of class Float) to the file 4-byte quantity where the first byte is high.
  • longlength(): This function is used to get the length of the file.
  • FileDescriptorgetFD(): This function is used to get the file descriptor object of the file.
  • long getFilePointer(): This function is used to get the current offset of the file.
  • void close(): This function is used to close the random access file and release stream and release the file resource.

Examples of Java RandomAccessFile

Given below are the examples mentioned:

Example #1

We create RandomAccessFile objects by using the RandomAccessFile class constructor and pass the file name to read and write a character.

Code:

//package demo;
import java.io.IOException;
import java.io.RandomAccessFile;
public class Demo
{
public static void main(String[] args) throws Exception
{
int i;
char c;
try {
// data.txt file contain "Hello!, How are you?" data in it
RandomAccessFile f1 = new RandomAccessFile("D:\\data.txt", "r");
i = f1.read();
c = (char) i;
System.out.println("The First byte is :" +c);
System.out.println("The Number of remaining bytes are :" +f1.length());
// seek method to seek 4 bytes
f1.seek(4);
i = f1.read();
// converts byte to character
c = (char) i;
System.out.println("The Next byte after 4 byte seek is :" +c);
// getChannel() method
System.out.println("\nThe unique FileChannel object is : " +f1.getChannel());
// getFD() method
System.out.println("The FileDescriptor object is : " +f1.getFD());
// getFilePointer() method
System.out.println("The FilePointer offset is : " +f1.getFilePointer());
RandomAccessFile f2 = new RandomAccessFile("D:\\data.txt", "rw");
//seek 10 bytes and write this message to file
f2.seek(10);
f2.write("I am good.".getBytes());
f1.close();
f2.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
登录后复制

Output:

Java随机访问文件

Example #2

RandomAccessFile class, where we read the data into the byte array.

Code:

//package demo;
import java.io.IOException;
import java.io.RandomAccessFile;
public class Demo
{
public static void main(String[] args) throws Exception
{
byte[] b = new byte[16];
int i;
char c;
try {
// data.txt file contain "Hello!, How are you?" data in it
RandomAccessFile f1 = new RandomAccessFile("D:\\data.txt", "r");
i = f1.read(b, 1, 15);
System.out.println("The total bytes read are : "+i);
System.out.print("The bytes read are : ");
for(byte t : b) {
c = (char)t;
System.out.print(c);
}
f1.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
登录后复制

Output:

Java随机访问文件

Conclusion

The RandomAccessFile is a class in java that is used to read and write to a random access file. This is a built-in class in java that defines the java.io.RandomAccessFilepackage.

以上是Java随机访问文件的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!