file和字节流,字符流

今天在公司是接触file和字节流,字符流

  收获:文件即路径

字节流   1、使用字节来操作文件流
2、从内存向程序中输入 简称:输入流 读
3、从程序向内存中输出 简称:输出流 写

字符流:1、使用字节来操作文件流
2、从内存向程序中输入 简称:输入流 读
3、从程序向内存中输出 简称:输出流 写

package org.lanqiao.io和xml;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.RandomAccessFile;
import java.nio.CharBuffer;
import java.util.ArrayList;
import java.util.List;

import org.lanqiao.集合框架.Demo.Student;

public class Demo {
static Student info=new Student(1001,"李嘉欣");
static List<Student> list=new ArrayList();
static {
// list.add(new Student(1001,"李嘉欣"));
// list.add(new Student(1002, "刘德华"));
// list.add(new Student(1003, "朴树"));
// list.add(new Student(1004, "XXX"));
}

static File file = new File("D:\\temp\\aaa.txt");
public static void main(String[] args) throws Exception {
test16();
System.out.println("over");
}

public static void test16() throws Exception{
RandomAccessFile raf=new RandomAccessFile(file, "rw");
System.out.println(raf.getFilePointer());
//raf.seek(22);
raf.writeUTF("自信");
System.out.println(raf.getFilePointer());
//String msg=raf.readLine();
//System.out.println(new String(msg.getBytes("iso-8859-1"),"utf-8"));
raf.close();
}

public static void test15()throws Exception{
//字节流
FileInputStream fis=new FileInputStream(file);
//字节转换字符流
InputStreamReader isr=new InputStreamReader(fis);
//缓冲字符流
BufferedReader br=new BufferedReader(isr);

char[] b=new char[5];
int i=-1;
while ((i=br.read(b))>0) {
System.out.println(new String(b, 0, i));
}
br.close();
}

public static void test14()throws Exception{
BufferedReader br=new BufferedReader(new FileReader(file));
String msg=null;
while ((msg=br.readLine())!=null) {
System.out.println(msg);
}


}

public static void test13()throws Exception{
BufferedWriter bw=new BufferedWriter(new FileWriter(file));
bw.write("为有牺牲多壮志");
bw.newLine();
bw.write("敢叫日月换新天");

bw.close();
}

public static void test12() throws Exception{
FileReader reader=new FileReader(file);
char[] b=new char[5];
int i=-1;
while ((i=reader.read(b))>0) {
System.out.println(new String(b, 0, i));
}
reader.close();


}

public static void test11() throws Exception{
FileWriter fw=new FileWriter(file);
fw.write("为有牺牲多壮志,敢叫日月换新天");
fw.close();

}

public static void test10() throws Exception{
File fiel1=new File("d:\\39.jpg");
File fiel2=new File("d:\\temp\\39.jpg");
FileInputStream fis=new FileInputStream(fiel1);
FileOutputStream fos=new FileOutputStream(fiel2);

byte[] b=new byte[1024];
int i=-1;
while ((i=fis.read(b))>0) {
fos.write(b, 0, i);
}

fis.close();
fos.close();
}

public static void test9()throws Exception {
ObjectInputStream ois=new ObjectInputStream(new FileInputStream(file));
list= (List<Student>) ois.readObject();
ois.close();
for (Student student : list) {
System.out.println(student);
}
}

public static void test8() throws Exception{
ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream(file));
//序列化
oos.writeObject(list);
oos.close();
}

public static void test7()throws Exception {
DataInputStream dis=new DataInputStream(new FileInputStream(file));
Student info1=new Student();
info1.id=dis.readInt();
info1.name=dis.readUTF();
dis.close();
System.out.println(info1);
}

public static void test6()throws Exception {
DataOutputStream dos=new DataOutputStream(new FileOutputStream(file));
dos.writeInt(info.id);
dos.writeUTF(info.name);
dos.close();
}

// BufferedOutputStream写文件
public static void test5() throws Exception {
File file = new File("D:\\temp\\aaa.txt");
BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream(file));

bos.write("西风烈、长空雁叫霜晨月、霜晨月、马蹄声碎、喇叭声yan".getBytes());
bos.close();
}

// BufferedInputStream写文件
public static void test4() throws Exception {
File file = new File("D:\\temp\\aaa.txt");
BufferedInputStream bis=new BufferedInputStream(new FileInputStream(file));

byte[] b = new byte[100];
int i = -1;
while ((i = bis.read(b)) > 0) {
System.out.println(new String(b, 0, i));
}
}

// fileinputStream读文件
public static void test3() throws Exception {
File file = new File("D:\\temp\\aaa.txt");
FileInputStream fis = new FileInputStream(file);
byte[] b = new byte[100];
int i = -1;
while ((i = fis.read(b)) > 0) {
System.out.println(new String(b, 0, i));
}

}

// fileoutputsream写文件
public static void test2() throws Exception {
File file = new File("D:\\temp\\aaa.txt");
if (file.exists()) {
FileOutputStream fos = new FileOutputStream(file);
String msg = "西风烈、长空雁叫霜晨月";
fos.write(msg.getBytes());
fos.close();
}
}

// 遍历某个目录
public static void test1(String path) {
File file = new File(path);
File[] listFiles = file.listFiles();

for (File file2 : listFiles) {
// 判断是文件还是目录
if (file2.isFile())
System.out.println(file2.getAbsolutePath());
else // 递归开始
test1(file2.getAbsolutePath());

}
}
}

 

posted @ 2020-09-02 21:39  挚终  阅读(181)  评论(0)    收藏  举报