写数据
FileOutputStream:文件输出流用于将数据写入File
FileOutputStream(String name):创建文件输出流以指定的名称写入文件
package com.su;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class test {
public static void main(String[] args) throws IOException {
//创建字节输出流对象
FileOutputStream fos = new FileOutputStream("test.txt");
//写内容
fos.write(97);
fos.write(65);
fos.write(57);
fos.write('X');
//写入一个字节数组
byte b[] = {97,98,99,100,101};
fos.write(b);
//写入一个字节数组的部分
fos.write(b,1,2);
String str = "Hello,World!";
byte[] bytes = str.getBytes();//获取字符串对应的字节数组
fos.write(bytes);
//释放资源
fos.close();
}
}
实现追加写入在构造方法加true
FileOutputStream fos = new FileOutputStream("test.txt",true);
读数据
一次读一个字符
package com.su;
import java.io.*;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class test {
public static void main(String[] args) throws IOException{
FileInputStream inputStream = new FileInputStream("test.txt");
FileOutputStream outputStream = new FileOutputStream("e:\\test.txt");
int temp;
while((temp = inputStream.read()) != -1){
outputStream.write(temp);
}
inputStream.close();
outputStream.close();
}
}
一次读一个字节数组
package com.su;
import java.io.*;
public class test {
public static void main(String[] args) throws IOException{
FileInputStream inputStream = new FileInputStream("test.txt");
byte arr[] = new byte[1024];
int temp;
while((temp = inputStream.read(arr)) != -1){
String s = new String(arr, 0, temp);
System.out.print(s);
}
inputStream.close();
}
}
字节缓冲流
package com.su;
import java.io.*;
import java.util.Random;
public class test {
public static void main(String[] args) throws IOException{
BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(new FileOutputStream("test.txt"));
Random random = new Random();
for(int i=0;i<1000;i++){
int temp = random.nextInt(95)+32;
bufferedOutputStream.write(temp);
}
bufferedOutputStream.close();
BufferedInputStream bufferedInputStream = new BufferedInputStream(new FileInputStream("test.txt"));
byte temp[] = new byte[1024];
int len;
while ((len = bufferedInputStream.read(temp)) != -1){
System.out.print(new String(temp,0,len));
}
}
}