java -- IO流

File file = new File("C://1.txt");
file.creatNewFile();//创建新的文件,返回值为boolean
file.mkdir();//创建新的文件夹,返回值为boolean
File a = new File("C://1.txt","a.txt");//在文件夹中创建文件
File b = new File("file","b.txt");

a.delete;//删除
getAbsolutePath;//文件路径

IO流
字节流:一切皆字节
-输入流: InputeStream
-输入流: OutputStream
字符流:
-输入流:Reader
-输出流:Writer

OutputStream方法:

close();//关闭
flush();//刷新
write(byte[] b);//写入
write(byte[] b,int off,int len);//从 off开始写入,写len个内容;
write(int b);//将指定的字节写入此输出流

FileOutputStream:

构造方法:
FileOutputStream(File file); 创建文件输出流以写入由指定的 File对象表示的文件。      
FileOutputStream(FileDescriptor fdObj);  创建要写入指定文件描述符的文件输出流,该文件描述符表示与文件系统中实际文件的现有连接。   
FileOutputStream(File file, boolean append); 创建文件输出流以写入由指定的File对象表示的文件,append默认为true;表示在后方追加,否则表示为清空过后重写。
FileOutputStream(String name); 创建文件输出流以写入具有指定名称的文件。
FileOutputStream(String name, boolean append); 创建文件输出流以写入具有指定名称的文件

FileOutputStream​ fos = new FileOutputStream("c://a.text");
FileOutputStream​ fos = new FileOutputStream("c://a.text",true);

InputStream方法:

close();
read();//从输入流中读取下一个数据字节。 
read​(byte[] b);//从输入流中读取一些字节数并将它们存储到缓冲区数组 b 。 返回值为int,表示读取的个数。

FileInputStream:
FileInputStream(File file) 通过打开与实际文件的连接来创建 FileInputStream ,该文件由文件系统中的 File对象 file命名。    
FileInputStream(String name) 通过打开与实际文件的连接来创建 FileInputStream ,该文件由文件系统中的路径名 name命名。 

字符流:
FileWriter:

FileWriter fw = new FileWriter(File file, boolean append) 在给出要写入的 FileWriter下构造 File ,并构造一个布尔值,指示是否附加写入的数据。 
append​(char c) 将指定的字符追加到此writer。 
write​(int c) 写一个字符。 
flush();
close();

FileReader:

FileReader fr = new FileReader("b.txt");
    int c = fr.read();//读单个
	fr.close();
    System.out.println((char) c);//注意:要转为char
		
		
FileReader fr = new FileReader("b.txt");
char[] chars = new char[100];//创建长度为100
int len =fr.read(chars);//返回长度
String text = new String(chars,0,len); //从0写到len个,转为字符串
System.out.println(text);
System.out.println(text.length());//长度为数组实际长度
fr.close;

字符输出(打印流)

PrintStraem ps = new PrintStraem(c://c.text);
ps.println("嘿嘿嘿1");
ps.println("嘿嘿嘿2");
ps.println("嘿嘿嘿3");

PrintWriter pw = new PrintWriter(c://c.text);
pw.println("嘿嘿嘿1");
pw.println("嘿嘿嘿2");
pw.println("嘿嘿嘿3");

FileOutputStream​ fos = new FileOutputStream(c://c.text);
PrintWriter pw = new PrintWriter(fw);
pw.println("嘿嘿嘿1");
pw.println("嘿嘿嘿2");
pw.println("嘿嘿嘿3");

//缓存读取流,将字符输入流 转换为带有缓存 可以一次性读取一行的缓存字符读取流
FileReader fw = new FileReader(C://c.txt);
BufferedReader br = new BufferedReader(fw);
String text = br.readLine();//读取一行
System.out.println(text);

序列化与反序列化:
实现Serializable

序列化:
public static void mySerialize(Object obj,String fileName) throws IOException{
OutputStream out = new OutputStream(fileName);
ObjectOutputStream objOut = new ObjectOutputStream(out);
objOut.writeObject(obj);
objOut.close();
}

反序列化:
public static Object myDeserialize(String fileName) throws IOException{
InputStream in = new InputStream(fileName);
ObjectInputStream objIn = new ObjectInputStream(in);
Object obj = objIn.readObject();
objIn.close();
return obj;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值