<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FFile_Input_Output%2FRandomAccessFile</id>
		<title>Java/File Input Output/RandomAccessFile - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FFile_Input_Output%2FRandomAccessFile"/>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/File_Input_Output/RandomAccessFile&amp;action=history"/>
		<updated>2026-04-21T18:45:08Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java/File_Input_Output/RandomAccessFile&amp;diff=6109&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/File_Input_Output/RandomAccessFile&amp;diff=6109&amp;oldid=prev"/>
				<updated>2010-06-01T06:02:17Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 06:02, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java/File_Input_Output/RandomAccessFile&amp;diff=6108&amp;oldid=prev</id>
		<title> в 18:01, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/File_Input_Output/RandomAccessFile&amp;diff=6108&amp;oldid=prev"/>
				<updated>2010-05-31T18:01:43Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Appending data to existing file ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.io.File;&lt;br /&gt;
import java.io.RandomAccessFile;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void append(String fileName, String text) throws Exception {&lt;br /&gt;
    File f = new File(fileName);&lt;br /&gt;
    long fileLength = f.length();&lt;br /&gt;
    RandomAccessFile raf = new RandomAccessFile(f, &amp;quot;rw&amp;quot;);&lt;br /&gt;
    raf.seek(fileLength);&lt;br /&gt;
    raf.writeBytes(text);&lt;br /&gt;
    raf.close();&lt;br /&gt;
  }&lt;br /&gt;
  public static void append(String fileName, byte[] bytes) throws Exception {&lt;br /&gt;
    File f = new File(fileName);&lt;br /&gt;
    long fileLength = f.length();&lt;br /&gt;
    RandomAccessFile raf = new RandomAccessFile(f, &amp;quot;rw&amp;quot;);&lt;br /&gt;
    raf.seek(fileLength);&lt;br /&gt;
    raf.write(bytes);&lt;br /&gt;
    raf.close();&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    append(&amp;quot;c:\\tmp.txt&amp;quot;, &amp;quot;Appended Data&amp;quot;);&lt;br /&gt;
    append(&amp;quot;c:\\tmp.bin&amp;quot;, &amp;quot;Appended Data&amp;quot;.getBytes());&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== A RandomAccessFile object that is tied to a file called employee.dat. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.io.RandomAccessFile;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String[] args) throws IOException {&lt;br /&gt;
    RandomAccessFile raf = new RandomAccessFile(&amp;quot;employee.dat&amp;quot;, &amp;quot;rw&amp;quot;);&lt;br /&gt;
    raf.writeUTF(&amp;quot;J&amp;quot;);&lt;br /&gt;
    raf.writeUTF(&amp;quot;S&amp;quot;);&lt;br /&gt;
    raf.writeDouble(4.0);&lt;br /&gt;
    raf.seek(0L);&lt;br /&gt;
    String fname = raf.readUTF();&lt;br /&gt;
    String lname = raf.readUTF();&lt;br /&gt;
    double salary = raf.readDouble();&lt;br /&gt;
    System.out.println(&amp;quot;First name = &amp;quot; + fname);&lt;br /&gt;
    System.out.println(&amp;quot;Last name = &amp;quot; + lname);&lt;br /&gt;
    System.out.println(&amp;quot;Salary = &amp;quot; + salary);&lt;br /&gt;
    raf.close();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Random IO ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.io.RandomAccessFile;&lt;br /&gt;
public class RandomIOApp {&lt;br /&gt;
  public static void main(String args[]) throws IOException {&lt;br /&gt;
    RandomAccessFile file = new RandomAccessFile(&amp;quot;test.txt&amp;quot;, &amp;quot;rw&amp;quot;);&lt;br /&gt;
    file.writeBoolean(true);&lt;br /&gt;
    file.writeInt(123456);&lt;br /&gt;
    file.writeChar(&amp;quot;j&amp;quot;);&lt;br /&gt;
    file.writeDouble(1234.56);&lt;br /&gt;
    file.seek(1);&lt;br /&gt;
    System.out.println(file.readInt());&lt;br /&gt;
    System.out.println(file.readChar());&lt;br /&gt;
    System.out.println(file.readDouble());&lt;br /&gt;
    file.seek(0);&lt;br /&gt;
    System.out.println(file.readBoolean());&lt;br /&gt;
    file.close();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Read from back ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.io.EOFException;&lt;br /&gt;
import java.io.RandomAccessFile;&lt;br /&gt;
class Tail {&lt;br /&gt;
  public static void main(String args[]) throws Exception {&lt;br /&gt;
    RandomAccessFile raf = new RandomAccessFile(args[0], &amp;quot;r&amp;quot;);&lt;br /&gt;
    long count = 10;&lt;br /&gt;
    long position = raf.length();&lt;br /&gt;
    position -= count;&lt;br /&gt;
    if (position &amp;lt; 0)&lt;br /&gt;
      position = 0;&lt;br /&gt;
    raf.seek(position);&lt;br /&gt;
    while (true) {&lt;br /&gt;
      try {&lt;br /&gt;
        byte b = raf.readByte();&lt;br /&gt;
        System.out.print((char) b);&lt;br /&gt;
      } catch (EOFException eofe) {&lt;br /&gt;
        break;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reading UTF-8 Encoded Data ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.io.BufferedReader;&lt;br /&gt;
import java.io.FileInputStream;&lt;br /&gt;
import java.io.InputStreamReader;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(&amp;quot;infilename&amp;quot;),&lt;br /&gt;
        &amp;quot;UTF8&amp;quot;));&lt;br /&gt;
    String str = in.readLine();&lt;br /&gt;
    System.out.println(str);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Readonly RandomAccessFile ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
/*&lt;br /&gt;
 * Copyright (c) 1995 - 2008 Sun Microsystems, Inc.  All rights reserved.&lt;br /&gt;
 *&lt;br /&gt;
 * Redistribution and use in source and binary forms, with or without&lt;br /&gt;
 * modification, are permitted provided that the following conditions&lt;br /&gt;
 * are met:&lt;br /&gt;
 *&lt;br /&gt;
 *   - Redistributions of source code must retain the above copyright&lt;br /&gt;
 *     notice, this list of conditions and the following disclaimer.&lt;br /&gt;
 *&lt;br /&gt;
 *   - Redistributions in binary form must reproduce the above copyright&lt;br /&gt;
 *     notice, this list of conditions and the following disclaimer in the&lt;br /&gt;
 *     documentation and/or other materials provided with the distribution.&lt;br /&gt;
 *&lt;br /&gt;
 *   - Neither the name of Sun Microsystems nor the names of its&lt;br /&gt;
 *     contributors may be used to endorse or promote products derived&lt;br /&gt;
 *     from this software without specific prior written permission.&lt;br /&gt;
 *&lt;br /&gt;
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &amp;quot;AS&lt;br /&gt;
 * IS&amp;quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,&lt;br /&gt;
 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR&lt;br /&gt;
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR&lt;br /&gt;
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,&lt;br /&gt;
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,&lt;br /&gt;
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR&lt;br /&gt;
 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF&lt;br /&gt;
 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING&lt;br /&gt;
 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS&lt;br /&gt;
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.&lt;br /&gt;
 */&lt;br /&gt;
import java.io.FileNotFoundException;&lt;br /&gt;
import java.io.FileWriter;&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.io.PrintWriter;&lt;br /&gt;
import java.io.RandomAccessFile;&lt;br /&gt;
import java.util.Vector;&lt;br /&gt;
public class ListOfNumbers2 {&lt;br /&gt;
  private Vector&amp;lt;Integer&amp;gt; victor;&lt;br /&gt;
  private static final int SIZE = 10;&lt;br /&gt;
  public ListOfNumbers2() {&lt;br /&gt;
    victor = new Vector&amp;lt;Integer&amp;gt;(SIZE);&lt;br /&gt;
    for (int i = 0; i &amp;lt; SIZE; i++)&lt;br /&gt;
      victor.addElement(new Integer(i));&lt;br /&gt;
    this.readList(&amp;quot;infile.txt&amp;quot;);&lt;br /&gt;
    this.writeList();&lt;br /&gt;
  }&lt;br /&gt;
  public void readList(String fileName) {&lt;br /&gt;
    String line = null;&lt;br /&gt;
    try {&lt;br /&gt;
      RandomAccessFile raf = new RandomAccessFile(fileName, &amp;quot;r&amp;quot;);&lt;br /&gt;
      while ((line = raf.readLine()) != null) {&lt;br /&gt;
        Integer i = new Integer(Integer.parseInt(line));&lt;br /&gt;
        System.out.println(i);&lt;br /&gt;
        victor.addElement(i);&lt;br /&gt;
      }&lt;br /&gt;
    } catch (FileNotFoundException fnf) {&lt;br /&gt;
      System.err.println(&amp;quot;File: &amp;quot; + fileName + &amp;quot; not found.&amp;quot;);&lt;br /&gt;
    } catch (IOException io) {&lt;br /&gt;
      System.err.println(io.toString());&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public void writeList() {&lt;br /&gt;
    PrintWriter out = null;&lt;br /&gt;
    try {&lt;br /&gt;
      out = new PrintWriter(new FileWriter(&amp;quot;outfile.txt&amp;quot;));&lt;br /&gt;
      for (int i = 0; i &amp;lt; victor.size(); i++)&lt;br /&gt;
        out.println(&amp;quot;Value at: &amp;quot; + i + &amp;quot; = &amp;quot; + victor.elementAt(i));&lt;br /&gt;
    } catch (ArrayIndexOutOfBoundsException e) {&lt;br /&gt;
      System.err.println(&amp;quot;Caught ArrayIndexOutOfBoundsException: &amp;quot;&lt;br /&gt;
          + e.getMessage());&lt;br /&gt;
    } catch (IOException e) {&lt;br /&gt;
      System.err.println(&amp;quot;Caught IOException: &amp;quot; + e.getMessage());&lt;br /&gt;
    } finally {&lt;br /&gt;
      if (out != null) {&lt;br /&gt;
        System.out.println(&amp;quot;Closing PrintWriter&amp;quot;);&lt;br /&gt;
        out.close();&lt;br /&gt;
      } else {&lt;br /&gt;
        System.out.println(&amp;quot;PrintWriter not open&amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    new ListOfNumbers2();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reverse a file with RandomAccessFile ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
import java.io.RandomAccessFile;&lt;br /&gt;
class ReverseFile {&lt;br /&gt;
  public static void main(String args[]) throws Exception {&lt;br /&gt;
    RandomAccessFile raf = new RandomAccessFile(args[0], &amp;quot;r&amp;quot;);&lt;br /&gt;
    long position = raf.length();&lt;br /&gt;
    while (position &amp;gt; 0) {&lt;br /&gt;
      position -= 1;&lt;br /&gt;
      raf.seek(position);&lt;br /&gt;
      byte b = raf.readByte();&lt;br /&gt;
      System.out.print((char) b);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The class demonstrates the use of java.io.RandomAccessFile ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
/*&lt;br /&gt;
 * Copyright (c) 2004 David Flanagan.  All rights reserved.&lt;br /&gt;
 * This code is from the book Java Examples in a Nutshell, 3nd Edition.&lt;br /&gt;
 * It is provided AS-IS, WITHOUT ANY WARRANTY either expressed or implied.&lt;br /&gt;
 * You may study, use, and modify it for any non-commercial purpose,&lt;br /&gt;
 * including teaching and use in open-source projects.&lt;br /&gt;
 * You may distribute it non-commercially as long as you retain this notice.&lt;br /&gt;
 * For a commercial use license, or to purchase the book, &lt;br /&gt;
 * please visit http://www.davidflanagan.ru/javaexamples3.&lt;br /&gt;
 */&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.io.RandomAccessFile;&lt;br /&gt;
/**&lt;br /&gt;
 * This class represents a list of strings saved persistently to a file, along&lt;br /&gt;
 * with an index that allows random access to any string in the list. The static&lt;br /&gt;
 * method writeWords() creates such an indexed list in a file. The class&lt;br /&gt;
 * demostrates the use of java.io.RandomAccessFile&lt;br /&gt;
 */&lt;br /&gt;
public class WordList {&lt;br /&gt;
  // This is a simple test method&lt;br /&gt;
  public static void main(String args[]) throws IOException {&lt;br /&gt;
    // Write command line arguments to a WordList file named &amp;quot;words.data&amp;quot;&lt;br /&gt;
    writeWords(&amp;quot;words.data&amp;quot;, args);&lt;br /&gt;
    // Now create a WordList based on that file&lt;br /&gt;
    WordList list = new WordList(&amp;quot;words.data&amp;quot;);&lt;br /&gt;
    // And iterate through the elements of the list backward&lt;br /&gt;
    // This would be very inefficient to with sequential-access streams&lt;br /&gt;
    for (int i = list.size() - 1; i &amp;gt;= 0; i--)&lt;br /&gt;
      System.out.println(list.get(i));&lt;br /&gt;
    // Tell the list we&amp;quot;re done with it.&lt;br /&gt;
    list.close();&lt;br /&gt;
  }&lt;br /&gt;
  // This static method creates a WordList file&lt;br /&gt;
  public static void writeWords(String filename, String[] words) throws IOException {&lt;br /&gt;
    // Open the file for read/write access (&amp;quot;rw&amp;quot;). We only need to write,&lt;br /&gt;
    // but have to request read access as well&lt;br /&gt;
    RandomAccessFile f = new RandomAccessFile(filename, &amp;quot;rw&amp;quot;);&lt;br /&gt;
    // This array will hold the positions of each word in the file&lt;br /&gt;
    long wordPositions[] = new long[words.length];&lt;br /&gt;
    // Reserve space at the start of the file for the wordPositions array&lt;br /&gt;
    // and the length of that array. 4 bytes for length plus 8 bytes for&lt;br /&gt;
    // each long value in the array.&lt;br /&gt;
    f.seek(4L + (8 * words.length));&lt;br /&gt;
    // Now, loop through the words and write them out to the file,&lt;br /&gt;
    // recording the start position of each word. Note that the&lt;br /&gt;
    // text is written in the UTF-8 encoding, which uses 1, 2, or 3 bytes&lt;br /&gt;
    // per character, so we can&amp;quot;t assume that the string length equals&lt;br /&gt;
    // the string size on the disk. Also note that the writeUTF() method&lt;br /&gt;
    // records the length of the string so it can be read by readUTF().&lt;br /&gt;
    for (int i = 0; i &amp;lt; words.length; i++) {&lt;br /&gt;
      wordPositions[i] = f.getFilePointer(); // record file position&lt;br /&gt;
      f.writeUTF(words[i]); // write word&lt;br /&gt;
    }&lt;br /&gt;
    // Now go back to the beginning of the file and write the positions&lt;br /&gt;
    f.seek(0L); // Start at beginning&lt;br /&gt;
    f.writeInt(wordPositions.length); // Write array length&lt;br /&gt;
    for (int i = 0; i &amp;lt; wordPositions.length; i++)&lt;br /&gt;
      // Loop through array&lt;br /&gt;
      f.writeLong(wordPositions[i]); // Write array element&lt;br /&gt;
    f.close(); // Close the file when done.&lt;br /&gt;
  }&lt;br /&gt;
  // These are the instance fields of the WordList class&lt;br /&gt;
  RandomAccessFile f; // the file to read words from&lt;br /&gt;
  long[] positions; // the index that gives the position of each word&lt;br /&gt;
  // Create a WordList object based on the named file&lt;br /&gt;
  public WordList(String filename) throws IOException {&lt;br /&gt;
    // Open the random access file for read-only access&lt;br /&gt;
    f = new RandomAccessFile(filename, &amp;quot;r&amp;quot;);&lt;br /&gt;
    // Now read the array of file positions from it&lt;br /&gt;
    int numwords = f.readInt(); // Read array length&lt;br /&gt;
    positions = new long[numwords]; // Allocate array&lt;br /&gt;
    for (int i = 0; i &amp;lt; numwords; i++)&lt;br /&gt;
      // Read array contents&lt;br /&gt;
      positions[i] = f.readLong();&lt;br /&gt;
  }&lt;br /&gt;
  // Call this method when the WordList is no longer needed.&lt;br /&gt;
  public void close() throws IOException {&lt;br /&gt;
    if (f != null)&lt;br /&gt;
      f.close(); // close file&lt;br /&gt;
    f = null; // remember that it is closed&lt;br /&gt;
    positions = null;&lt;br /&gt;
  }&lt;br /&gt;
  // Return the number of words in the WordList&lt;br /&gt;
  public int size() {&lt;br /&gt;
    // Make sure we haven&amp;quot;t closed the file already&lt;br /&gt;
    if (f == null)&lt;br /&gt;
      throw new IllegalStateException(&amp;quot;already closed&amp;quot;);&lt;br /&gt;
    return positions.length;&lt;br /&gt;
  }&lt;br /&gt;
  // Return the string at the specified position in the WordList&lt;br /&gt;
  // Throws IllegalStateException if already closed, and throws&lt;br /&gt;
  // ArrayIndexOutOfBounds if i is negative or &amp;gt;= size()&lt;br /&gt;
  public String get(int i) throws IOException {&lt;br /&gt;
    // Make sure close() hasn&amp;quot;t already been called.&lt;br /&gt;
    if (f == null)&lt;br /&gt;
      throw new IllegalStateException(&amp;quot;already closed&amp;quot;);&lt;br /&gt;
    f.seek(positions[i]); // Move to the word position in the file.&lt;br /&gt;
    return f.readUTF(); // Read and return the string at that position.&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The RandomAccessFile Class ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.io.RandomAccessFile;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    RandomAccessFile file = new RandomAccessFile(&amp;quot;scores.html&amp;quot;, &amp;quot;rw&amp;quot;);&lt;br /&gt;
    for (int i = 1; i &amp;lt;= 6; i++) {&lt;br /&gt;
      System.out.println(file.readLine());&lt;br /&gt;
    }&lt;br /&gt;
    long current = file.getFilePointer();&lt;br /&gt;
    file.seek(current + 6);&lt;br /&gt;
    file.write(&amp;quot;34&amp;quot;.getBytes());&lt;br /&gt;
    for (int i = 1; i &amp;lt;= 5; i++) {&lt;br /&gt;
      System.out.println(file.readLine());&lt;br /&gt;
    }&lt;br /&gt;
    current = file.getFilePointer();&lt;br /&gt;
    file.seek(current + 6);&lt;br /&gt;
    file.write(&amp;quot;27&amp;quot;.getBytes());&lt;br /&gt;
    file.close();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Translate Charset ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.io.File;&lt;br /&gt;
import java.io.RandomAccessFile;&lt;br /&gt;
import java.nio.ByteBuffer;&lt;br /&gt;
import java.nio.CharBuffer;&lt;br /&gt;
import java.nio.MappedByteBuffer;&lt;br /&gt;
import java.nio.channels.FileChannel;&lt;br /&gt;
import java.nio.charset.Charset;&lt;br /&gt;
import java.nio.charset.CharsetDecoder;&lt;br /&gt;
import java.nio.charset.CharsetEncoder;&lt;br /&gt;
public class Main {&lt;br /&gt;
  static public void main(String args[]) throws Exception {&lt;br /&gt;
    File infile = new File(&amp;quot;inFilename&amp;quot;);&lt;br /&gt;
    File outfile = new File(&amp;quot;outFilename&amp;quot;);&lt;br /&gt;
    RandomAccessFile inraf = new RandomAccessFile(infile, &amp;quot;r&amp;quot;);&lt;br /&gt;
    RandomAccessFile outraf = new RandomAccessFile(outfile, &amp;quot;rw&amp;quot;);&lt;br /&gt;
    FileChannel finc = inraf.getChannel();&lt;br /&gt;
    FileChannel foutc = outraf.getChannel();&lt;br /&gt;
    MappedByteBuffer inmbb = finc.map(FileChannel.MapMode.READ_ONLY, 0, (int) infile.length());&lt;br /&gt;
    Charset inCharset = Charset.forName(&amp;quot;UTF8&amp;quot;);&lt;br /&gt;
    Charset outCharset = Charset.forName(&amp;quot;UTF16&amp;quot;);&lt;br /&gt;
    CharsetDecoder inDecoder = inCharset.newDecoder();&lt;br /&gt;
    CharsetEncoder outEncoder = outCharset.newEncoder();&lt;br /&gt;
    CharBuffer cb = inDecoder.decode(inmbb);&lt;br /&gt;
    ByteBuffer outbb = outEncoder.encode(cb);&lt;br /&gt;
    foutc.write(outbb);&lt;br /&gt;
    inraf.close();&lt;br /&gt;
    outraf.close();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Use RandomAccessFile class ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.io.RandomAccessFile;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    RandomAccessFile raf = new RandomAccessFile(&amp;quot;books.dat&amp;quot;, &amp;quot;rw&amp;quot;);&lt;br /&gt;
    String books[] = new String[5];&lt;br /&gt;
    books[0] = &amp;quot;A&amp;quot;;&lt;br /&gt;
    books[1] = &amp;quot;B&amp;quot;;&lt;br /&gt;
    books[2] = &amp;quot;C&amp;quot;;&lt;br /&gt;
    books[3] = &amp;quot;D&amp;quot;;&lt;br /&gt;
    books[4] = &amp;quot;E&amp;quot;;&lt;br /&gt;
    for (int i = 0; i &amp;lt; books.length; i++) {&lt;br /&gt;
      raf.writeUTF(books[i]);&lt;br /&gt;
    }&lt;br /&gt;
    raf.seek(raf.length());&lt;br /&gt;
    raf.writeUTF(&amp;quot;Servlet &amp;amp; JSP Programming&amp;quot;);&lt;br /&gt;
    raf.seek(0);&lt;br /&gt;
    while (raf.getFilePointer() &amp;lt; raf.length()) {&lt;br /&gt;
      System.out.println(raf.readUTF());&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Use RandomAccessFile to reverse a file ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.io.RandomAccessFile;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    RandomAccessFile raf = new RandomAccessFile(&amp;quot;a.dat&amp;quot;, &amp;quot;rw&amp;quot;);&lt;br /&gt;
    int x, y;&lt;br /&gt;
    for (long i = 0, j = raf.length() - 1; i &amp;lt; j; i++, j--) {&lt;br /&gt;
      raf.seek(i);&lt;br /&gt;
      x = raf.read();&lt;br /&gt;
      raf.seek(j);&lt;br /&gt;
      y = raf.read();&lt;br /&gt;
      raf.seek(j);&lt;br /&gt;
      raf.write(x);&lt;br /&gt;
      raf.seek(i);&lt;br /&gt;
      raf.write(y);&lt;br /&gt;
    }&lt;br /&gt;
    raf.close();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Use RandomAccessFile to save an object ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.io.RandomAccessFile;&lt;br /&gt;
public class CreateEmployeeFile {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    String[] fnames = { &amp;quot;A&amp;quot;, &amp;quot;B&amp;quot;, &amp;quot;C&amp;quot; };&lt;br /&gt;
    String[] lnames = { &amp;quot;a&amp;quot;, &amp;quot;b&amp;quot;, &amp;quot;c&amp;quot; };&lt;br /&gt;
    String[] addresses = { &amp;quot;Box 100&amp;quot;, &amp;quot;55 Street&amp;quot;, &amp;quot;6 Lane&amp;quot; };&lt;br /&gt;
    byte[] ages = { 46, 59, 32 };&lt;br /&gt;
    double[] salaries = { 5.0, 6.0, 3.0 };&lt;br /&gt;
    RandomAccessFile raf = new RandomAccessFile(&amp;quot;employee.dat&amp;quot;, &amp;quot;rw&amp;quot;);&lt;br /&gt;
    EmployeeRecord er = new EmployeeRecord();&lt;br /&gt;
    for (int i = 0; i &amp;lt; fnames.length; i++) {&lt;br /&gt;
      er.setFirstName(fnames[i]);&lt;br /&gt;
      er.setLastName(lnames[i]);&lt;br /&gt;
      er.setAddress(addresses[i]);&lt;br /&gt;
      er.setAge(ages[i]);&lt;br /&gt;
      er.setSalary(salaries[i]);&lt;br /&gt;
      er.write(raf);&lt;br /&gt;
    }&lt;br /&gt;
    raf = new RandomAccessFile(&amp;quot;employee.dat&amp;quot;, &amp;quot;rw&amp;quot;);&lt;br /&gt;
    er = new EmployeeRecord();&lt;br /&gt;
    int numRecords = (int) raf.length() / er.size();&lt;br /&gt;
    for (int i = 0; i &amp;lt; numRecords; i++) {&lt;br /&gt;
      er.read(raf);&lt;br /&gt;
      System.out.print(er.getFirstName() + &amp;quot; &amp;quot;);&lt;br /&gt;
      System.out.print(er.getLastName() + &amp;quot; &amp;quot;);&lt;br /&gt;
      System.out.print(er.getAddress() + &amp;quot; &amp;quot;);&lt;br /&gt;
      System.out.print(er.getAge() + &amp;quot; &amp;quot;);&lt;br /&gt;
      System.out.println(er.getSalary());&lt;br /&gt;
    }&lt;br /&gt;
    raf.seek(0);&lt;br /&gt;
    for (int i = 0; i &amp;lt; numRecords; i++) {&lt;br /&gt;
      er.read(raf);&lt;br /&gt;
      if (er.getAge() &amp;gt;= 55) {&lt;br /&gt;
        er.setSalary(0.0);&lt;br /&gt;
        raf.seek(raf.getFilePointer() - er.size());&lt;br /&gt;
        er.write(raf);&lt;br /&gt;
        raf.seek(raf.getFilePointer() - er.size());&lt;br /&gt;
        er.read(raf);&lt;br /&gt;
      }&lt;br /&gt;
      System.out.print(er.getFirstName() + &amp;quot; &amp;quot;);&lt;br /&gt;
      System.out.print(er.getLastName() + &amp;quot; &amp;quot;);&lt;br /&gt;
      System.out.print(er.getAddress() + &amp;quot; &amp;quot;);&lt;br /&gt;
      System.out.print(er.getAge() + &amp;quot; &amp;quot;);&lt;br /&gt;
      System.out.println(er.getSalary());&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class EmployeeRecord {&lt;br /&gt;
  private String lastName;&lt;br /&gt;
  private String firstName;&lt;br /&gt;
  private String address;&lt;br /&gt;
  private byte age;&lt;br /&gt;
  private double salary;&lt;br /&gt;
  void read(RandomAccessFile raf) throws IOException {&lt;br /&gt;
    char[] temp = new char[15];&lt;br /&gt;
    for (int i = 0; i &amp;lt; temp.length; i++)&lt;br /&gt;
      temp[i] = raf.readChar();&lt;br /&gt;
    lastName = new String(temp);&lt;br /&gt;
    temp = new char[15];&lt;br /&gt;
    for (int i = 0; i &amp;lt; temp.length; i++)&lt;br /&gt;
      temp[i] = raf.readChar();&lt;br /&gt;
    firstName = new String(temp);&lt;br /&gt;
    temp = new char[30];&lt;br /&gt;
    for (int i = 0; i &amp;lt; temp.length; i++)&lt;br /&gt;
      temp[i] = raf.readChar();&lt;br /&gt;
    address = new String(temp);&lt;br /&gt;
    age = raf.readByte();&lt;br /&gt;
    salary = raf.readDouble();&lt;br /&gt;
  }&lt;br /&gt;
  void write(RandomAccessFile raf) throws IOException {&lt;br /&gt;
    StringBuffer sb;&lt;br /&gt;
    if (lastName != null)&lt;br /&gt;
      sb = new StringBuffer(lastName);&lt;br /&gt;
    else&lt;br /&gt;
      sb = new StringBuffer();&lt;br /&gt;
    sb.setLength(15);&lt;br /&gt;
    raf.writeChars(sb.toString());&lt;br /&gt;
    if (firstName != null)&lt;br /&gt;
      sb = new StringBuffer(firstName);&lt;br /&gt;
    else&lt;br /&gt;
      sb = new StringBuffer();&lt;br /&gt;
    sb.setLength(15);&lt;br /&gt;
    raf.writeChars(sb.toString());&lt;br /&gt;
    if (address != null)&lt;br /&gt;
      sb = new StringBuffer(address);&lt;br /&gt;
    else&lt;br /&gt;
      sb = new StringBuffer();&lt;br /&gt;
    sb.setLength(30);&lt;br /&gt;
    raf.writeChars(sb.toString());&lt;br /&gt;
    raf.writeByte(age);&lt;br /&gt;
    raf.writeDouble(salary);&lt;br /&gt;
  }&lt;br /&gt;
  void setAge(byte age) {&lt;br /&gt;
    this.age = age;&lt;br /&gt;
  }&lt;br /&gt;
  byte getAge() {&lt;br /&gt;
    return age;&lt;br /&gt;
  }&lt;br /&gt;
  void setAddress(String address) {&lt;br /&gt;
    this.address = address;&lt;br /&gt;
  }&lt;br /&gt;
  String getAddress() {&lt;br /&gt;
    return address;&lt;br /&gt;
  }&lt;br /&gt;
  void setFirstName(String firstName) {&lt;br /&gt;
    this.firstName = firstName;&lt;br /&gt;
  }&lt;br /&gt;
  String getFirstName() {&lt;br /&gt;
    return firstName;&lt;br /&gt;
  }&lt;br /&gt;
  void setLastName(String lastName) {&lt;br /&gt;
    this.lastName = lastName;&lt;br /&gt;
  }&lt;br /&gt;
  String getLastName() {&lt;br /&gt;
    return lastName;&lt;br /&gt;
  }&lt;br /&gt;
  void setSalary(double salary) {&lt;br /&gt;
    this.salary = salary;&lt;br /&gt;
  }&lt;br /&gt;
  double getSalary() {&lt;br /&gt;
    return salary;&lt;br /&gt;
  }&lt;br /&gt;
  int size() {&lt;br /&gt;
    return 2 * (15 + 15 + 30) + 9;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Using a Random Access File ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.io.File;&lt;br /&gt;
import java.io.RandomAccessFile;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    File f = new File(&amp;quot;filename&amp;quot;);&lt;br /&gt;
    RandomAccessFile raf = new RandomAccessFile(f, &amp;quot;rw&amp;quot;);&lt;br /&gt;
    // Read a character&lt;br /&gt;
    char ch = raf.readChar();&lt;br /&gt;
    // Seek to end of file&lt;br /&gt;
    raf.seek(f.length());&lt;br /&gt;
    // Append to the end&lt;br /&gt;
    raf.writeChars(&amp;quot;aString&amp;quot;);&lt;br /&gt;
    raf.close();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Using the RandomAccessFile class ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.io.RandomAccessFile;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    RandomAccessFile randomAccessFile = null;&lt;br /&gt;
    String line1 = &amp;quot;line\n&amp;quot;;&lt;br /&gt;
    String line2 = &amp;quot;asdf1234\n&amp;quot;;&lt;br /&gt;
    // read / write permissions&lt;br /&gt;
    randomAccessFile = new RandomAccessFile(&amp;quot;yourFile.dat&amp;quot;, &amp;quot;rw&amp;quot;);&lt;br /&gt;
    randomAccessFile.writeBytes(line1);&lt;br /&gt;
    randomAccessFile.writeBytes(line2);&lt;br /&gt;
    // Place the file pointer at the end of the first line&lt;br /&gt;
    randomAccessFile.seek(line1.length());&lt;br /&gt;
    byte[] buffer = new byte[line2.length()];&lt;br /&gt;
    randomAccessFile.read(buffer);&lt;br /&gt;
    System.out.println(new String(buffer));&lt;br /&gt;
    randomAccessFile.close();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>