------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
概述:
一个字节8bit,每个bit位是0.1两种状态。字节作为最基本的存储单位。
英文字符:一个字节
中文字符:两个字节
机器上都是字节,二进制数据。
文件操作:
FileWriter:构造时会抛出异常(只要与设备发生联系,就会抛出异常),当该目录有同名文件时,会覆盖该文件,创建一个新文件。
java调用windows写操作,java本身不能写数据,不能系统写操作不同。靠系统内部方法完成读写。
这调用会使用系统的资源,因此流一定要关闭。
Close():关闭流资源,但会先刷新一次。
Flush():只是刷新数据,之后流仍然可以被操作。
练习:
import java.io.*;
public class FileWriterDemo {
public static void main(String[] args)throws Exception
{
//创建一个FileWriter对象,该对象一被初始化就必须要明确被操作的文件。
//而且该文件会被创建到指定目录下,如果该目录下有同名文件,将被覆盖。
//其实该步就是在明确数据要存放的目的地。
FileWriter fw=new FileWriter("E:\\demo.txt");
/*续写:传递一个参数true,代表不覆盖原来文件,在其后面续写内容
Filewriter fw=new FileWriter("e://demo.txt",true);
换行 :\r\n
fw.write("heima....\r\nbaoming");
fw.close();
*/
//调用write方法,将字符串写入到流中。
fw.write("zhuzhu");
//刷新流对象中的缓冲中的数据。
//将数据刷到目的地中。
//fw.flush();
//关闭流资源,但是关闭之前会进行一次刷新内部的缓冲中的数据。
//将数据刷到目的地中。
//和flush的区别:flush刷新后,流可以继续使用,close刷新后,会将流关闭。
fw.write("jiapjiao");
fw.write("jiapjiao");
fw.close();
}
}
文本文件读取的第一种方法:
代码体现:
import java.io.*;
public class FileWriterDemo2 {
public static void main(String[] args)throws Exception
{
FileReader fr=new FileReader("e:/demo.txt");
int ch=0;
while((ch=fr.read())!=-1){
System.out.print((char)ch);
}
}
}
文件读取的第二种方法:
每次由于数组长度是3,因此打印都是3个字符,当不足3个时,它会把之前存进数组中的元素打印出来。
字符串打印有另一种方法,就是指定长度,所有当还剩几个元素时,就打印几个元素。
代码体现:
<span style="background-color: rgb(204, 204, 204);">import java.io.*;
public class FileWriterDemo3 {
public static void main(String[] args) throws Exception {
FileReader fr = new FileReader("E:/demo.txt");
// 定义一定字符数组,用于存储读到的字符。
// 该read(char[])返回的是读到字符的个数。
char[] buf = new char[1024];
int num = 0;
while ((num = fr.read(buf)) != -1)
System.out.println(new String(buf, 0, num));
fr.close();
}
}
</span>
练习:拷贝文本文件
复制原理:其实就是将源文件存储到另一个路径下
步骤:
1.在e盘创建一个文件,用于存储d盘的数据
2.定义一个读取流和d盘文件相关联
3.通过不断的读写完成数据存储。
4.关闭资源。
import java.io.*;
public class FileCopy {
public static void main(String[] args){
FileReader fr=null;
FileWriter fw=null;
try{
//与源文件关联
fr=new FileReader("e:/demo.txt");
//与目标文件关联
fw=new FileWriter("d:/democopy.txt");
int num=0;
char[] arr=new char[1014];
while((num=fr.read(arr))!=-1){//读取源文件
fw.write(new String(arr,0,num));//写入目标文件
fw.flush();
}
}catch(Exception e){
System.out.println("复制文件失败!");
e.printStackTrace();
}finally{
try{
if(fr!=null)
fr.close();
}catch(Exception e){
e.printStackTrace();
}
try{
if(fw!=null)
fw.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
}
本文详细介绍了Java中文件操作的基本方法,包括FileWriter的使用、文本文件的读取方式,并提供了实例代码演示。
&spm=1001.2101.3001.5002&articleId=45640607&d=1&t=3&u=983450049e674bffb9f178027c4d522e)
876

被折叠的 条评论
为什么被折叠?



