public class Main {
public static void main(String[] args) throws IOException {
/*
字节输出流写入数据到文件
*/
//1.创建一个FileOutputStream对象,构造方法中传递写入数据的目的地
OutputStream out = new FileOutputStream("C:\\Users\\GODK\\Desktop\\asdjkl.txt");
//2.调用FileOutputStream对象中的方法write,把数据写入文件中
out.write("Hello".getBytes());
//3.释放资源,流使用会占用一定的内存,使用完毕要把内存清空,提供程序效率
out.close();
/*
字节输入流读取字节到数据
*/
InputStream in = new FileInputStream("C:\\Users\\GODK\\Desktop\\asdjkl.txt");
int len = 0;//记录读取到的字节
/*
* 不知道文件中有多少字节,使用while循环
* while循环结束条件,读取到-1时候结束
*
布尔表达式(len = in.read() != -1):
1.in.read():读取一个字节
2.len = in.read():把读取到的字节赋给变量len
3.(len = in.read()) != -1:判断变量len是否不等于-1
* */
while ((len = in.read()) != -1)
{
System.out.print((char)len);
}
in.close();
}
}
写入数据的原理(内存→硬盘):
java程序→JVM(JAVA虚拟机)→OS(操作系统)→OS调用写数据的方法→把数据写入到文件中
读取数据的原理(硬盘→内存):
java程序→JVM(JAVA虚拟机)→OS(操作系统)→OS调用读取数据的方法→读取文件