PrintStream write(byte[], int, int) in Java

write(byte[], int, int): This method is available in the java.io.PrintStream class of Java.

Syntax:

void java.io.PrintStream.write(byte[] buf, int off, int len)

This method takes three arguments. This method writes len bytes from the specified byte array starting to offset off to this stream.

If automatic flushing is enabled then the flush method will be invoked.

Parameters: Three parameters are required for this method.

buf: A byte array.

off: offset from which to start taking bytes.

len: Number of bytes to write.

Returns: NA

Throws:

1. NullPointerException - If buf is null.

2. IndexOutOfBoundsException - If off is negative, len is negative, or len is greater than b.length - off.

Approach 1: When no exception

Java

import java.io.File;
import java.io.IOException;
import java.io.PrintStream;

public class PrintStreamwrite3 {
    public static void main(String[] args) throws IOException {

        File file = new File("D:\\hello.txt");
        PrintStream printStream = new PrintStream(file);

        byte buf[] = { 'a', 'b', 'c', 'd', 'e', 'f' };
        int off = 0, len = 4;
        printStream.write(buf, off, len);

        System.out.println("Writing done");
        printStream.close();
    }
}

Output:

Writing done


Approach 2: NullPointerException

Java

package com.PrintStream;

import java.io.File;
import java.io.IOException;
import java.io.PrintStream;

public class PrintStreamwrite3 {
    public static void main(String[] args) throws IOException {

        File file = new File("D:\\hello.txt");
        PrintStream printStream = new PrintStream(file);

        byte buf[] = null;
        int off = 0, len = 4;
        printStream.write(buf, off, len);

        System.out.println("Writing done");
        printStream.close();
    }
}

Output:

Exception in thread "main" java.lang.NullPointerException at java.base/java.io.FileOutputStream.writeBytes(Native Method) at java.base/java.io.FileOutputStream.write(FileOutputStream.java:347) at java.base/java.io.PrintStream.write(PrintStream.java:568) at com.PrintStream.PrintStreamwrite3.main(PrintStreamwrite3.java:15)


Approach 3: IndexOutOfBoundsException 

Java

package com.PrintStream;

import java.io.File;
import java.io.IOException;
import java.io.PrintStream;

public class PrintStreamwrite3 {
    public static void main(String[] args) throws IOException {

        File file = new File("D:\\hello.txt");
        PrintStream printStream = new PrintStream(file);

        byte buf[] = { 'a', 'b', 'c', 'd', 'e', 'f' };
        int off = 0, len = 14;
        printStream.write(buf, off, len);

        System.out.println("Writing done");
        printStream.close();
    }
}

Output:

Exception in thread "main" java.lang.IndexOutOfBoundsException at java.base/java.io.FileOutputStream.writeBytes(Native Method) at java.base/java.io.FileOutputStream.write(FileOutputStream.java:347) at java.base/java.io.PrintStream.write(PrintStream.java:568) at com.PrintStream.PrintStreamwrite3.main(PrintStreamwrite3.java:15)


Some other methods of PrintStream

append(char)This method appends the specified character to this output stream.

append(CharSequence)This method appends the specified character sequence to this output stream.

append(CharSequence, int, int)This method appends a subsequence of the specified character sequence to this output stream.

checkError()This method flushes the stream and checks its error state.

close()This is done by flushing the stream and then closing the underlying output stream.

flush()This method flushes the stream.

format(String, Object...)This method writes a formatted string to this output stream using the specified format string and arguments.

format(Locale, String, Object...)This method writes a formatted string to this output stream using the specified format string and arguments.

print(boolean)This method prints a boolean value.

printf(String, Object...)It is a convenient method to write a formatted string to this output stream using the specified format string and arguments.

printf(Locale, String, Object...)It is a convenient method to write a formatted string to this output stream using the specified format string and arguments.

println()This method terminates the current line by writing the line separator string.

PrintStream(File)This method creates a new print stream, without automatic line flushing, with the specified file.

PrintStream(OutputStream, boolean, String)This method creates a new print stream, with the specified OutputStream, line flushing, and character encoding.

PrintStream(OutputStream)This method creates a new print stream, without automatic line flushing, with the specified OutputStream.

PrintStream(String)This method creates a new print stream, without automatic line flushing, with the specified file name.

PrintStream(File, Charset)This method creates a new print stream, without automatic line flushing, with the specified file and charset.

PrintStream(File, String)This method creates a new print stream, without automatic line flushing, with the specified file and charset.

PrintStream(OutputStream, boolean)This method creates a new print stream, with the specified OutputStream and line flushing.

PrintStream(String, Charset)This method creates a new print stream, without automatic line flushing, with the specified file name and charset.

PrintStream(String, String)This method creates a new print stream, without automatic line flushing, with the specified file name and charset.

PrintStream(OutputStream, boolean, Charset)This method creates a new print stream, with the specified OutputStream, line flushing, and charset.

write(byte[]) This method writes all bytes from the specified byte array to this stream.

write(int)This method writes the specified byte to this stream.

write(byte[], int, int)This method writes len bytes from the specified byte array starting to offset off to this stream.

writeBytes(byte[])This method writes all bytes from the specified byte array to this stream.

No comments:

Post a Comment