一、输入流
代码模板:
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class StreamTest {
public static void main(String[] args) {
FileInputStream inputStream = null;
try {
inputStream = new FileInputStream("E:/JavaTest/TestText.txt");
} catch (FileNotFoundException e) {
throw new RuntimeException(e);
} finally {
if (inputStream != null) {
try {
inputStream.close();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
}
}
简化后:
import java.io.FileInputStream;
import java.io.IOException;
public class StreamTest {
public static void main(String[] args) {
try (FileInputStream inputStream = new FileInputStream("E:/JavaTest/TestText.txt")) {
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
读取方法:
方法一:
int i;
while((i = inputStream.read()) != -1) print((char) i);
方法二:
byte[] buffer = new byte[2];
while(inputStream.read(buffer) != -1) print(new String(buffer));
inputStream.skip(n) //跳过
二、输出流
import java.io.FileOutputStream;
import java.io.IOException;
public class StreamTest {
public static void main(String[] args) {
try (FileOutputStream outputStream = new FileOutputStream("E:/JavaTest/TestText.txt")) {
//追加:FileOutputStream outputStream = new FileOutputStream("E:/JavaTest/TestText.txt", true)
outputStream.write("Hello Everybody".getBytes());
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
三、综合
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class StreamTest {
public static void main(String[] args) {
try (FileInputStream inputStream = new FileInputStream("E:/JavaTest/TestText.txt")) {
FileOutputStream outputStream = new FileOutputStream("E:/JavaTest/copy.txt");
byte[] buffer = new byte[1024];
int length;
while ((length = inputStream.read(buffer)) != -1) outputStream.write(buffer, 0, length);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}