javase-io-210508-02
- FileInputStream
- FileOutputStream
- 文件拷贝
FileInputStream
read方法示意图
Demo01.java
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class Demo01 {
public static void main(String[] args) {
FileInputStream fis = null;
try {
fis = new FileInputStream("./test");
int readData = fis.read();
System.out.println(readData);
readData = fis.read();
System.out.println(readData);
readData = fis.read();
System.out.println(readData);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fis != null) {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
Demo02.java
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class Demo02 {
public static void main(String[] args) {
FileInputStream fis = null;
try {
fis = new FileInputStream("./test");
int readData01 = 0;
while ((readData01 = fis.read()) != -1){
System.out.println(readData01);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
Demo04.java
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class Demo04 {
public static void main(String[] args) {
FileInputStream fis = null;
try {
fis = new FileInputStream("test");
byte[] bytes = new byte[4];
int readCount = fis.read(bytes);
System.out.println(readCount);
System.out.println(new String(bytes,0,readCount));
readCount = fis.read(bytes);
System.out.println(readCount);
System.out.println(new String(bytes,0,readCount));
readCount = fis.read(bytes);
System.out.println(readCount);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fis != null) {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
Demo05.java
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class Demo05 {
public static void main(String[] args){
FileInputStream fis = null;
try {
fis = new FileInputStream("test");
byte[] bytes = new byte[4];
int readCount = 0;
while ((readCount = fis.read(bytes)) != -1){
System.out.println(new String(bytes,0,readCount));
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fis != null) {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
Demo06.java
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class Demo06 {
public static void main(String[] args) {
FileInputStream fis = null;
try {
fis = new FileInputStream("test");
System.out.println("总字节数量:"+fis.available());
int readByte = fis.read();
System.out.println("还剩字节数量:"+fis.available());
byte[] bytes = new byte[fis.available()];
int readCount = fis.read(bytes);
System.out.println(new String(bytes));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Demo07.java
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class Demo07 {
public static void main(String[] args) {
FileInputStream fis = null;
try {
fis = new FileInputStream("test");
System.out.println("总字节数量:"+fis.available());
fis.skip(2);
System.out.println((char)fis.read());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
test
abcdefg
FileOutputStream
Demo01.java
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class Demo01 {
public static void main(String[] args) {
FileOutputStream fos = null;
try {
fos = new FileOutputStream("myfile",true);
byte[] bytes = {97,98,99,100};
fos.write(bytes);
fos.write(bytes,0,2);
fos.flush();
String s = "白光一";
byte[] bs = s.getBytes();
fos.write(bs);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fos != null) {
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
文件拷贝
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class FileCopy {
public static void main(String[] args) {
FileInputStream fis = null;
FileOutputStream fos = null;
try {
fis = new FileInputStream("myfile");
fos = new FileOutputStream("copymyfile");
byte[] bytes = new byte[4];
int readCount = 0;
while ((readCount = fis.read(bytes)) != -1){
fos.write(bytes,0,readCount);
}
fos.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fis != null) {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (fos != null) {
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}