package yuwei.com;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
/**
* 想要操作图片
*
* 用到字节流
* InputStream读
* OutputStream写
*
* 字节流使用字节数组
* */
public class FileReaderWriterDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
//创建文件并写入
//WriteFile();
//读
ReadFile();
ReadFileBelongItself();
}
public static void WriteFile() {
FileOutputStream fos = null;
try {
fos = new FileOutputStream("buf1.txt",true);
//
fos.write("aaa".getBytes());
}catch(IOException e) {
System.out.println("写入失败");
}
//不关闭也能正常创建并写入但还是要写关闭资源
finally {
try {
if(fos != null) {
fos.close();
}
}catch(IOException e) {
System.out.println(e.toString());
}
}
}
public static void ReadFile() {
FileInputStream fos = null;
/*try {
fos = new FileInputStream("buf1.txt");
int ch = 0;
while((ch = fos.read())!=-1) {
System.out.print((char)ch);
}
}catch(IOException e) {
System.out.println("写入失败");
}
finally {
try {
if(fos != null) {
fos.close();
}
}catch(IOException e) {
System.out.println(e.toString());
}
}
}*/
//
try {
fos = new FileInputStream("buf1.txt");
byte[] ch = new byte[1024];
int len = 0;
/* while((len = fos.read(ch))!= -1) {
System.out.println(new String(ch,0,len));
}*/
//一样的效果
len = fos.read(ch);
System.out.println(new String(ch,0,len));
}catch(IOException e) {
System.out.println("read失败");
}
finally {
try {
if(fos != null) {
fos.close();
}
}catch(IOException e) {
System.out.println(e.toString());
}
}
}
public static void ReadFileBelongItself() {
FileInputStream fos = null;
try {
fos = new FileInputStream("buf1.txt");
//返回所有字节的个数
int num = fos.available();
System.out.println(num);
//定义一个刚刚好的缓冲区
byte[] ch = new byte[num];
//直接读,不用循环
fos.read(ch);
System.out.println(new String(ch));
}catch(IOException e) {
System.out.println(e.toString());
}finally {
try {
if(fos != null) {
fos.close();
}
}catch(IOException e) {
System.out.println(e.toString());
}
}
}
}
字节流的初步使用
最新推荐文章于 2022-02-14 14:32:22 发布