Java_基础—定义小数组
图解定义小数组后,在文件中数据(abc)的读和写
package com.soar.stream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class Demo4_ArrayCopy {
/*
* 第三种拷贝,定义小数组
*/
public static void main(String[] args) throws IOException {
//文件xxx.txt中存储的是abc
//read();
//littleArray();
FileInputStream fis = new FileInputStream("xxx.txt");
FileOutputStream fos = new FileOutputStream("yyy.txt");
byte[] arr = new byte[1024 * 8]; //数组长度定义为1024的整数倍
int len;
//如果在read()中忘记加arr,返回的就不是读取的字节个数,而是字节的码表值
while((len = fis.read(arr)) != -1){
fos.write(arr,0,len); //0代表的是起始位置索引0,len代表写到索引len的长度为止
}
fis.close();
fos.close();
}
private static void littleArray() throws FileNotFoundException, IOException {
FileInputStream fis = new FileInputStream("xxx.txt");
FileOutputStream fos = new FileOutputStream("yyy.txt");
byte[] arr = new byte[2];
int len;
while((len = fis.read(arr)) != -1){
fos.write(arr,0,len); //0代表的是起始位置索引0,len代表写到索引len的长度为止
}
fis.close();
fos.close();
}
private static void read() throws FileNotFoundException, IOException {
//文件xxx.txt中存储的是abc
FileInputStream fis = new FileInputStream("xxx.txt");
byte[] arr = new byte[2];
int a = fis.read(arr); //将文件上的字节读取到字节数组中
System.out.println(a); //读到的有效字节个数 //2
for (byte b : arr) {
System.out.println(b); //97、98
}
System.out.println("--------------------");
int c = fis.read(arr);
System.out.println(c); //1
for (byte b : arr) {
System.out.println(b); //99、98
}
fis.close();
}
}