写入文件
package IO;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
public class TestIODemo01 {
public static void main(String[] args) throws IOException {
//数据
byte[] data={0,2,4,6,8,10,12,14};
//写入文件
File file = new File("C:/Users/秦/Desktop/MakeDown/IO/123.txt");
FileOutputStream fileOutputStream = new FileOutputStream(file);
fileOutputStream.write(data,0,8);
fileOutputStream.close();
}
}
读取文件
package IO;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class TestIODemo02 {
public static void main(String[] args) throws IOException {
//缓冲区
byte[] buffer=new byte[1024];
File file = new File("C:/Users/秦/Desktop/MakeDown/IO/123.txt");
FileInputStream fileInputStream = new FileInputStream(file);
int n=fileInputStream.read(buffer,0,1024);//返回读取到数据的字节数
for (int i = 0; i < n; i++) {
System.out.println(buffer[i]);
}
fileInputStream.close();
}
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uyo6LuZk-1619431457687)(C:\Users\秦敬卓\Desktop\Image\读取数据.png)]
文件写入与读取
package IO;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
//写入文本、读取文本
public class TestIODemo03 {
public static void main(String[] args) throws IOException {
String str="中国";
//数据
byte[] data=str.getBytes("UTF-8");
byte[] buffer=new byte[1024];
File file = new File("C:/Users/秦/Desktop/MakeDown/IO/123.txt");
//文件输出流
FileOutputStream fileOutputStream = new FileOutputStream(file);
//文件输入流
FileInputStream fileInputStream = new FileInputStream(file);
//写入(内容,开始位置,写入长度)
fileOutputStream.write(data,0,data.length);
fileOutputStream.close();
//读取(缓冲区,开始位置,读取长度)
int n =fileInputStream.read(buffer,0,1024);
fileInputStream.close();
String str2=new String(buffer,0,n,"UTF-8");
System.out.println(str2);
}
}
编码器
package IO;
import javax.xml.bind.DatatypeConverter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.charset.StandardCharsets;
//字节编码 将整型或其他类型编码为字节形式
public class TestAllocate01 {
public static void main(String[] args) throws IOException {
//容量为100的编码器
ByteBuffer byteBuffer = ByteBuffer.allocate(20);
byteBuffer.putInt(1234);
byteBuffer.putDouble(10.55);
int size=byteBuffer.position();//返回当前指针位置
byte[] data=byteBuffer.array();//返回内部数组
String str = DatatypeConverter.printHexBinary(data);
System.out.println(str);
data = str.getBytes(StandardCharsets.UTF_8);
File file = new File("C:/Users/秦/Desktop/MakeDown/IO/123.txt");
FileOutputStream fileOutputStream = new FileOutputStream(file);
fileOutputStream.write(data);
fileOutputStream.close();
}
}
new FileOutputStream(file);
fileOutputStream.write(data);
fileOutputStream.close();
}
}