FileReader
BufferedReader
FileWriter
BufferedWriter
PrintWriter
FileInputStream
BufferedInputStream
ObjectInputStream
FileOutputStream
BufferedOuputStream
ObjectOutputStream
FileInputStream Example code. read(), read(byte[]), markSupported(), skip(int)
cat ReadData.java
import java.io.*;
import java.nio.charset.*;
public class ReadData {
public static void main(String[] args) {
try(FileInputStream isr = new FileInputStream("test.txt");) {
int data = 0;
byte[] buf = new byte[5];
System.out.println(isr.markSupported());
isr.skip(2);
isr.read(buf);
String str = new String(buf, StandardCharsets.UTF_8);
System.out.println(str);
while( (data = isr.read()) != -1) {
System.out.print((char)data);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
cat test.txt
abcde123456
javac ReadData.java
java ReadData
false
cde12
3456
chmod -r test.txt
java ReadData
java.io.FileNotFoundException: test.txt (Permission denied)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.(FileInputStream.java:138)
at java.io.FileInputStream.(FileInputStream.java:93)
at ReadData.main(ReadData.java:6)
chmod +r test.txt
java ReadData
false
cde12
3456
BufferedInputStream code example: read(), read(byte[]), markSupported(), mark(), reset(), skip().
cat ReadData.java
import java.io.*;
import java.nio.charset.*;
public class ReadData {
public static void main(String[] args) {
try(BufferedInputStream in = new BufferedInputStream(new FileInputStream("test.txt"))) {
System.out.println(in.markSupported());
in.mark(10);
System.out.print((char)in.read());
byte[] buf = new byte[2];
in.read(buf);
System.out.println(new String(buf));
in.reset();
in.skip(1);
int lengthRead = 0;
while((lengthRead = in.read(buf)) > 0) {
System.out.print(new String(buf, 0, lengthRead, StandardCharsets.UTF_8));
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
cat test.txt
abcdefghijk
123456789
javac ReadData.java
java ReadData
true
abc
bcdefghijk
123456789
chmod -r test.txt
java ReadData
java.io.FileNotFoundException: test.txt (Permission denied)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.(FileInputStream.java:138)
at java.io.FileInputStream.(FileInputStream.java:93)
at ReadData.main(ReadData.java:5)
chmod +r test.txt
java ReadData
true
abc
bcdefghijk
123456789
FileOutputStream Example. write(int), write(byte[])
cat WriteData.java
import java.io.*;
import java.nio.charset.*;
public class WriteData
{
public static void main(String args[]) throws FileNotFoundException
{
try(FileOutputStream fos = new FileOutputStream("test.txt");) {
fos.write('A');
byte[] buf = new byte[]{'B', 66};
fos.write(buf, 0, buf.length);
String hello = "hello OCPJP!";
fos.write(hello.getBytes(StandardCharsets.UTF_8));
//one byte at a time, no need to flush
//fos.flush();
//try with resources, no need to close
//fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
javac WriteData.java
java WriteData
cat test.txt
ABBhello OCPJP!
java WriteData
cat test.txt
ABBhello OCPJP!
vi WriteData.java
chmod -w test.txt
java WriteData
java.io.FileNotFoundException: test.txt (Permission denied)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.(FileOutputStream.java:213)
at java.io.FileOutputStream.(FileOutputStream.java:101)
at WriteData.main(WriteData.java:7)
rm test.txt
override r--r--r-- homenetwork/staff for test.txt? y
java WriteData
cat test.txt
ABBhello OCPJP!
vi WriteData.java
grep test.txt WriteData.java
try(FileOutputStream fos = new FileOutputStream("test.txt",true);) {
echo "appened set to true"
appened set to true
javac WriteData.java
java WriteData
cat test.txt
ABBhello OCPJP!ABBhello OCPJP!
java WriteData
cat test.txt
ABBhello OCPJP!ABBhello OCPJP!ABBhello OCPJP!
BufferedOutputStream code example, write(int), write(byte[]), write(byte[], int, int), flush().
cat WriteData.java
import java.io.*;
public class WriteData
{
public static void main(String args[]) throws FileNotFoundException
{
try(BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream("test.txt"))) {
out.write('A');
byte[] buf = new byte[]{'B', 66, '6'};
out.write(buf, 0, buf.length);
out.write(buf);
out.flush(); //need to flush
//try with resources, no need to close
//out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
javac WriteData.java
java WriteData
cat test.txt
ABB6BB6
chmod -w test.txt
java WriteData
java.io.FileNotFoundException: test.txt (Permission denied)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.(FileOutputStream.java:213)
at java.io.FileOutputStream.(FileOutputStream.java:101)
at WriteData.main(WriteData.java:6)
chmod +w test.txt
java WriteData
cat test.txt
ABB6BB6
FileReader code Example, markSupported(), getEncoding(), read(), read(char[])
cat ReadData.java
import java.io.*;
public class ReadData {
public static void main(String[] args) {
try(FileReader fr = new FileReader("test.txt");) {
System.out.println(fr.markSupported());
System.out.println(fr.getEncoding());
System.out.print((char)fr.read());
char[] cbuf = new char[2];
fr.read(cbuf);
System.out.println(new String(cbuf));
int data = 0;
while( (data = fr.read()) != -1) {
System.out.print((char)data);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
cat test.txt
abcABC,123456
javac ReadData.java
java ReadData
false
UTF8
abc
ABC,123456
chmod -r test.txt
javac ReadData.java
java ReadData
java.io.FileNotFoundException: test.txt (Permission denied)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.(FileInputStream.java:138)
at java.io.FileInputStream.(FileInputStream.java:93)
at java.io.FileReader.(FileReader.java:58)
at ReadData.main(ReadData.java:4)
chmod +r test.txt
java ReadData
false
UTF8
abc
ABC,123456
BufferedReader code example: readLine(), markSupported(), mark(int), reset(), skip(), read(char), read(char[]).
cat ReadData.java
import java.io.*;
public class ReadData {
public static void main(String[] args) {
try(BufferedReader fr = new BufferedReader(new FileReader("test.txt"))) {
System.out.println(fr.readLine());
System.out.println(fr.markSupported());
fr.mark(10);
System.out.print((char)fr.read());
char[] cbuf = new char[2];
fr.read(cbuf);
System.out.println(new String(cbuf));
fr.reset();
System.out.println(fr.readLine());
fr.skip(5);
int data = 0;
while( (data = fr.read()) != -1) {
System.out.print((char)data);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
cat test.txt
ABB6
abcdefghijk
123456789
javac ReadData.java
java ReadData
ABB6
true
abc
abcdefghijk
6789
chmod -r test.txt
java ReadData
java.io.FileNotFoundException: test.txt (Permission denied)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.(FileInputStream.java:138)
at java.io.FileInputStream.(FileInputStream.java:93)
at java.io.FileReader.(FileReader.java:58)
at ReadData.main(ReadData.java:4)
chmod +r test.txt
java ReadData
ABB6
true
abc
abcdefghijk
6789
FileWriter code example. write(int), write(char), write(char cbuf[], int off, int len), write(String), write(String, int off, int len), append(int), append(char), append(String), append(CharSequence csq, int start, int end), flush(), getEncoding().
cat WriteData.java
import java.io.*;
public class WriteData
{
public static void main(String args[]) throws FileNotFoundException
{
try(FileWriter fr = new FileWriter("test.txt")) {
fr.write('A');
char[] buf = new char[]{'B', 66, '6'};
fr.write(buf, 0, buf.length);
fr.write("hell");
fr.write("hello", 4, 1);
fr.append(',');
fr.append(" OCPJP");
fr.append(" xxxxx!", 6, 7);
//delegate to StreamEncoder, need to flush
fr.flush();
System.out.println(fr.getEncoding());
//try with resources, no need to close
//fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
javac WriteData.java
java WriteData
UTF8
cat test.txt
ABB6hello, OCPJP!
java WriteData
UTF8
cat test.txt
ABB6hello, OCPJP!
vi WriteData.java
grep test.txt WriteData.java
try(FileWriter fr = new FileWriter("test.txt", true)) {
echo 'append set to true'
append set to true
javac WriteData.java
java WriteData
UTF8
cat test.txt
ABB6hello, OCPJP!ABB6hello, OCPJP!
chmod -w test.txt
java WriteData
java.io.FileNotFoundException: test.txt (Permission denied)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.(FileOutputStream.java:213)
at java.io.FileOutputStream.(FileOutputStream.java:133)
at java.io.FileWriter.(FileWriter.java:78)
at WriteData.main(WriteData.java:6)
chmod +x test.txt
java WriteData
java.io.FileNotFoundException: test.txt (Permission denied)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.(FileOutputStream.java:213)
at java.io.FileOutputStream.(FileOutputStream.java:133)
at java.io.FileWriter.(FileWriter.java:78)
at WriteData.main(WriteData.java:6)
chmod -x test.txt
chmod +w test.txt
java WriteData
UTF8
cat test.txt
ABB6hello, OCPJP!ABB6hello, OCPJP!ABB6hello, OCPJP!
BufferedWriter code example, write(char), write(char[], int, int), newLine(), append(char), append(String, int, int), flush().
cat WriteData.java
import java.io.*;
public class WriteData
{
public static void main(String args[]) throws FileNotFoundException
{
try(BufferedWriter fr = new BufferedWriter(new FileWriter("test.txt"))) {
fr.write('A');
char[] buf = new char[]{'B', 66, '6'};
fr.write(buf, 0, buf.length);
fr.newLine(); //line break
fr.write("hell");
fr.write("hello", 4, 1);
fr.append(',');
fr.append(" OCPJP");
fr.append(" xxxxx!", 6, 7);
fr.flush();
//try with resources, no need to close
//fr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
javac WriteData.java
java WriteData
cat test.txt
ABB6
hello, OCPJP!
chmod -w test.txt
java WriteData
java.io.FileNotFoundException: test.txt (Permission denied)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.(FileOutputStream.java:213)
at java.io.FileOutputStream.(FileOutputStream.java:101)
at java.io.FileWriter.(FileWriter.java:63)
at WriteData.main(WriteData.java:6)
chmod +w test.txt
java WriteData
cat test.txt
ABB6
hello, OCPJP!
ObjectOutputStream code example, writeObject(Object)
cat WriteData.java
import java.io.*;
import java.util.*;
public class WriteData
{
public static void main(String args[]) throws FileNotFoundException
{
try(ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("test.txt"))) {
out.write('A');
byte[] buf = new byte[]{'B', 66, '6'};
out.write(buf, 0, buf.length);
out.write(buf);
out.writeObject(new Date());
out.writeObject(new Date());
out.flush(); //need to flush
//try with resources, no need to close
//out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
javac WriteData.java
java WriteData
cat test.txt
??wABB6BB6srjava.util.Datehj?KYtxpY篷Gxsq~Y篷Lx
chmod -w test.txt
java WriteData
java.io.FileNotFoundException: test.txt (Permission denied)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.(FileOutputStream.java:213)
at java.io.FileOutputStream.(FileOutputStream.java:101)
at WriteData.main(WriteData.java:7)
chmod +w test.txt
java WriteData
cat test.txt
??wABB6BB6srjava.util.Datehj?KYtxpY?hgxsq~Y?hnx
ObjectInputStream code example: readObject().
cat ReadData.java
import java.io.*;
import java.nio.charset.*;
import java.util.*;
public class ReadData {
public static void main(String[] args) {
try(ObjectInputStream in = new ObjectInputStream(new FileInputStream("test.txt"))) {
System.out.println(in.markSupported());
System.out.println((char)in.read());
byte[] buf = new byte[2];
in.read(buf);
System.out.println(new String(buf));
int lengthRead = 0;
while((lengthRead = in.read(buf)) > 0) {
System.out.print(new String(buf, 0, lengthRead, StandardCharsets.UTF_8));
}
System.out.println();
Date d = (Date)in.readObject();
System.out.println(d.getTime());
d = (Date)in.readObject();
System.out.println(d.getTime());
d = (Date)in.readObject();
} catch (IOException | ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
cat test.txt
??wABB6BB6srjava.util.Datehj?KYtxpY?hgxsq~Y?hnx
javac ReadData.java
java ReadData
false
A
BB
6BB6
1485650815079
1485650815086
java.io.EOFException
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2601)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1319)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371)
at ReadData.main(ReadData.java:21)
chmod -r test.txt
java ReadData
java.io.FileNotFoundException: test.txt (Permission denied)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.(FileInputStream.java:138)
at java.io.FileInputStream.(FileInputStream.java:93)
at ReadData.main(ReadData.java:6)
chmod +r test.txt
java ReadData
false
A
BB
6BB6
1485650815079
1485650815086
java.io.EOFException
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2601)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1319)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371)
at ReadData.main(ReadData.java:21)
PrintWriter code example: write(char), write(char[]), write(String), print(String), format(String), printf(String), println(), println(String).
cat WriteData.java
import java.io.*;
import java.util.*;
public class WriteData
{
public static void main(String args[]) throws FileNotFoundException
{
try(PrintWriter out = new PrintWriter(new FileOutputStream("test.txt"))) {
out.write('A');
char[] buf = new char[]{'B', 66, '6'};
out.write(buf, 0, buf.length);
out.write(buf);
out.println();
out.print("in OCPJP, print(String), ");
out.write("write(String), ");
out.format("format(String), ");
out.printf("printf(String) are the same");
out.println("!");
out.flush(); //need to flush
//try with resources, no need to close
//out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
javac WriteData.java
java WriteData
cat test.txt
ABB6BB6
in OCPJP, print(String), write(String), format(String), printf(String) are the same!
chmod -w test.txt
java WriteData
java.io.FileNotFoundException: test.txt (Permission denied)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.(FileOutputStream.java:213)
at java.io.FileOutputStream.(FileOutputStream.java:101)
at WriteData.main(WriteData.java:7)
chmod +w test.txt
java WriteData
cat test.txt
ABB6BB6
in OCPJP, print(String), write(String), format(String), printf(String) are the same!
No comments:
Post a Comment