java 字符流写数据的方法有五个
下面我们用代码 演示一下
我们先来创建一个文件对象
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
public class text {
public static void main(String args[]) throws FileNotFoundException {
OutputStreamWriter File = new OutputStreamWriter(new FileOutputStream("D:\\学习案例\\java\\目的地\\example.java"));
}
}
这里 你所声明的目录结构必须是存在的 其中 文件你可以没有 系统会帮你创建
我们先来试第一种
Files.write(90);
运行代码
然后查看文件 你会发现 文件中 什么都没了 这是因为 字符流最终还是要靠字节流来讲数据写进去 我们执行了字符流的写数据 数据会到缓冲区 但并没有写入文件中 这是我们就需要一个刷新流方法
在下面编写代码
Files.flush();
执行代码后查看文件
我们的内容就进去了
当然 如果你有结束后释放资源的习惯 就不需要在意这个 因为 close方法是先刷新 后释放资源
就是 我们完全可以写成
public static void main(String args[]) throws IOException {
OutputStreamWriter Files = new OutputStreamWriter(new FileOutputStream("D:\\学习案例\\java\\目的地\\example.java"));
Files.write(90);
Files.close();
}
不需要flush的
第二种 通过一个数组写数据
public static void main(String args[]) throws IOException {
OutputStreamWriter Files = new OutputStreamWriter(new FileOutputStream("D:\\学习案例\\java\\目的地\\example.java"));
char[] chs ={'a','b','c','d','e'};
Files.write(chs);
Files.close();
}
这里我们声明了一个数组 然后通过write将数据写入文件
运行后查看文件
内容就这样 写进去了 没有任何问题
第三种 接收三个参数
第一个参数还是一个数组
第二个参数要一个数子 有点像截取 指定从数组的哪一个下标开始写
第三个参数还是一个数字 意思是写到第几个小标
参考代码如下
public static void main(String args[]) throws IOException {
OutputStreamWriter Files = new OutputStreamWriter(new FileOutputStream("D:\\学习案例\\java\\目的地\\example.java"));
char[] chs ={'a','b','c','d','e'};
Files.write(chs,1,3);
Files.close();
}
运行后查看文件
这里 我们第二个参数传递1 说明从一下标开始写 那么 数组的下标是从0开始的
那么1就是第二个元素 就是b
第三个参数 3 表示写三个
没有任何问题
第四种
public static void main(String args[]) throws IOException {
OutputStreamWriter Files = new OutputStreamWriter(new FileOutputStream("D:\\学习案例\\java\\目的地\\example.java"));
String chs = "你好java";
Files.write(chs);
Files.close();
}
这里 你需要注意一下 文件的字符编码和idea要一直 最好都调成 utf-8
运行后我们查看文件
没有任何问题
第三个又是三个参数
第一个 是一个字符串
第二个是 一个数字 从第几个字符开始写
第三个 自然就是写几个字符
public static void main(String args[]) throws IOException {
OutputStreamWriter Files = new OutputStreamWriter(new FileOutputStream("D:\\学习案例\\java\\目的地\\example.java"));
String chs = "你好java";
//System.out.println(chs);
Files.write(chs,1,3);
Files.close();
}
运行代码后查看文件
字符串的下标也是从0 开始的 1代表第二个字符串 第三个参数3 表示写三个字符
没有任何问题