首先IO流基本操作步骤 1.实例化对象,参数传递目的地(多态) 2.调用方法操作数据 3.关闭流 一、字节输出流 :(OutputStream),文件通常使用该类的子类FileOutStream,以多态的方法进行操作
首先IO流基本操作步骤
1.实例化对象,参数传递目的地(多态)
2.调用方法操作数据
3.关闭流
一、字节输出流 :(OutputStream),文件通常使用该类的子类FileOutStream,以多态的方法进行操作
>1.构造方法:FileOutputStream(File file)传递一个File类对象或者引用FileOutputStream(File file,boolean append)第一个参数传递一个File类对象或者引用,第二个参数如果是true,则表示在文件末尾追加内容,而不是写入文件开始处
FileOutputStream(String name)传入目的地字符串
FileOutputStream(String name,boolean)为true则追加
2.主要方法:
write(byte[ ] b)参数为字节数组
write(byte[ ] b,int off,int len)写入字符串,从off开始,长度为lenpublic class Demo03 {
public static void main(String[] args) throws IOException {
//创建文件实例
File file=new File("G:"+File.separator+"demo.txt");
//判断路径是否存在,如果不存在,则创建该路径
if(!file.getParentFile().exists())
file.getParentFile().mkdirs();
//判断文件是否存在,若不存在,则创建该文件
if (!file.exists()) {
file.createNewFile();
}
String bys="\r\nwww.sks";
//将bys字符串转换为字节数组
byte[] bytes=bys.getBytes();
//int len=bytes.length;
//多态,输出流实例化
OutputStream file1 = new FileOutputStream(file,true);
//写入操作
file1.write(bytes,0,5);
//关闭流
file1.close();
}
}
二、字节输入流(InputStream),文件操作通常使用该子类FileInputStream类来实现
> 1.构造方法FileInputStream(File file)传入File类对象或者引用
FileInputStream(String name)传入路径字符串
2.主要方法
write(byte[ ] b) 读取b.length个字节
write(byte[ ] b,int off,int len)读取最多len个字节public class Demo04 {
public static void main(String[] args) throws IOException {
//创建文件实例
File file = new File("G:" + File.separator + "demo.txt");
//输入流实例化
FileInputStream fileInputStream = new FileInputStream(file);
byte[] bytes = new byte[512];
//读入len个字节到字节数组中去
fileInputStream.read(bytes,0,5);
//转换为字符串
String content=new String(bytes);
System.out.println(content);
//关闭流
fileInputStream.close();
}
}
三、字符输出流(Writer) 文件通常使用该子类FileWriter类进行操作
> 1.构造方法FileWriter(File file)参数为File类对象
FileWriter(File file ,boolean append)append为true则在文件末尾追加数据
FileWriter(String fileName)文件路径
FileWriter(String fileName,boolean append)与上面类似
2.主要方法
write(char[ ] cbuf)写入字符数组
write(char[ ] cbuf,int off ,int len)写入字符数组的一部分
write(String str)写入字符串
write(String str,int off,int len)写入字符串的一部分public class Demo06 {
public static void main(String[] args) throws IOException {
File file = new File("G:" + File.separator + "demo.txt");
FileWriter fileWriter = new FileWriter(file);
String s="zms";
//转换为字符串
char[] chars =s.toCharArray();
fileWriter.write(chars);
fileWriter.close();
}
}
四、字符输入流Reader通常使用该子类FileReader进行操作
> 1.构造方法:FileWriter(File file)参数为File类对象
FileWriter(String fileName)文件路径
2.主要方法
write(char[ ] cbuf)读入到字符数组
write(char[ ] cbuf,int off ,int len)读入到字符数组的一部分
skip(long n)跳过某字符public class Demo08 {
public static void main(String[] args) throws IOException {
File file = new File("G:" + File.separator + "demo.txt");
if (!file.getParentFile().exists())
file.getParentFile().mkdirs();
if (!file.exists()) {
file.createNewFile();
}
FileInputStream stream = new FileInputStream(file);
Reader r = new InputStreamReader(stream);
char[] chars = new char[124];
r.read(chars);
String s = new String(chars);
System.out.println(s);
r.close();
stream.close();
System.getProperties().list(System.out);
}
}