
- Java.io - Home
- Java.io - BufferedInputStream
- Java.io - BufferedOutputStream
- Java.io - BufferedReader
- Java.io - BufferedWriter
- Java.io - ByteArrayInputStream
- Java.io - ByteArrayOutputStream
- Java.io - CharArrayReader
- Java.io - CharArrayWriter
- Java.io - Console
- Java.io - DataInputStream
- Java.io - DataOutputStream
- Java.io - File
- Java.io - FileDescriptor
- Java.io - FileInputStream
- Java.io - FileOutputStream
- Java.io - FilePermission
- Java.io - FileReader
- Java.io - FileWriter
- Java.io - FilterInputStream
- Java.io - FilterOutputStream
- Java.io - FilterReader
- Java.io - FilterWriter
- Java.io - InputStream
- Java.io - InputStreamReader
- Java.io - LineNumberInputStream
- Java.io - LineNumberReader
- Java.io - ObjectInputStream
- Java.io - ObjectInputStream.GetField
- Java.io - ObjectOutputStream
- io - ObjectOutputStream.PutField
- Java.io - ObjectStreamClass
- Java.io - ObjectStreamField
- Java.io - OutputStream
- Java.io - OutputStreamWriter
- Java.io - PipedInputStream
- Java.io - PipedOutputStream
- Java.io - PipedReader
- Java.io - PipedWriter
- Java.io - PrintStream
- Java.io - PrintWriter
- Java.io - PushbackInputStream
- Java.io - PushbackReader
- Java.io - RandomAccessFile
- Java.io - Reader
- Java.io - SequenceInputStream
- Java.io - SerializablePermission
- Java.io - StreamTokenizer
- Java.io - StringBufferInputStream
- Java.io - StringReader
- Java.io - StringWriter
- Java.io - Writer
- Java.io package Useful Resources
- Java.io - Discussion
Java - RandomAccessFile writeChars(String s) method
Description
The Java RandomAccessFile writeChars(String s) method writes a string to the file as a sequence of characters. Each character is written to the data output stream as if by the writeChar method. The write starts at the current position of the file pointer.
Declaration
Following is the declaration for java.io.RandomAccessFile.writeChars(String s) method.
public final void writeChars(String s)
Parameters
s − a string value to be written.
Return Value
This method does not return a value.
Exception
IOException − If an I/O error occurs.
Example - Usage of RandomAccessFile writeChars(String s) method
The following example shows the usage of RandomAccessFile writeChars(String s) method.
RandomAccessFileDemo.java
package com.tutorialspoint; import java.io.RandomAccessFile; import java.io.IOException; public class RandomAccessFileDemo { public static void main(String[] args) { try { String s = "Hello World"; // create a new RandomAccessFile with filename test RandomAccessFile raf = new RandomAccessFile("test.txt", "rw"); // write a char in the file raf.writeChars(s); // set the file pointer at 0 position raf.seek(0); // read chars for (int i = 0; i < 11; i++) { System.out.print(raf.readChar()); } // set the file pointer at 0 position raf.seek(0); // change the line for better view System.out.println(); // write a char at the start raf.writeChars("This is an example"); // set the file pointer at 0 position raf.seek(0); // read chars for (int i = 0; i < 18; i++) { System.out.print(raf.readChar()); } } catch (IOException ex) { ex.printStackTrace(); } } }
Output
Assuming we have a text file test.txt in current directory which has the following content. This file will be used as an input for our example program −
ABCDE
Let us compile and run the above program, this will produce the following result −
Hello World This is an example
Example - Write a Simple String
The following example shows the usage of RandomAccessFile writeChars(String s) method.
RandomAccessFileDemo.java
package com.tutorialspoint; import java.io.RandomAccessFile; import java.io.IOException; public class RandomAccessFileDemo { public static void main(String[] args) { try (RandomAccessFile raf = new RandomAccessFile("chars1.dat", "rw")) { raf.writeChars("Hi"); System.out.println("String written successfully."); } catch (IOException e) { e.printStackTrace(); } } }
Output
Let us compile and run the above program, this will produce the following result−
String written successfully.
Explanation
The string "Hi" has two characters: 'H' and 'i'
-
Each is written as a 2-byte Unicode character−
'H' → 0x00 48
'i' → 0x00 69
Total: 4 bytes written
Example - Write a String and Read It Back Using readChar()
The following example shows the usage of RandomAccessFile writeChars(String s) method.
RandomAccessFileDemo.java
package com.tutorialspoint; import java.io.RandomAccessFile; import java.io.IOException; public class RandomAccessFileDemo { public static void main(String[] args) { try (RandomAccessFile raf = new RandomAccessFile("chars2.dat", "rw")) { raf.writeChars("ABC"); // Move to beginning raf.seek(0); // Read each character back char ch1 = raf.readChar(); char ch2 = raf.readChar(); char ch3 = raf.readChar(); System.out.println("Read characters: " + ch1 + ", " + ch2 + ", " + ch3); } catch (IOException e) { e.printStackTrace(); } } }
Output
Let us compile and run the above program, this will produce the following result−
Read characters: A, B, C
Explanation
"ABC" has 3 characters → 6 bytes written (2 bytes per char)
seek(0) moves file pointer back to beginning
readChar() reads the characters as written.