7.IO操作

java.io包
1、File类
File是IO包中唯一能代表磁盘文件本身的对象;
java能正确处理windows和unix中的路径分隔符;windows \,unix /,如果使用\,就要用转义符\\;
java约定是用unix和url风格的斜线/来作路径分隔符;
File f = new File("d:/1.txt"); File(String directoryPath);
if (f.exists())
{f.delete();}
else{
try
{f.createNewFile();}
catch (Exception e){
e.printStackTrace();}
}
System.out.println("文件名:" + f.getName());
System.out.println("文件路径:" + f.getPath());
System.out.println("绝对路径:" + f.getAbsolutePath());
System.out.println("父文件夹名称:" + f.getParent());
System.out.println(f.exists() ?"文件存在":"文件不存在");
System.out.println(f.canWrite()?"文件可写":"文件不可写");
System.out.println(f.canRead()?"文件可读":"文件不可读");
System.out.println(f.isDirectory()?"是":"不是" +"目录");
System.out.println(f.isFile()?"是":"不是" + "文件");
System.out.println(f.isAbsolute()?"是":"不是" + "绝对路径");
System.out.println("文件最后修改时间" + f.lastModified());
System.out.println("文件大小" + f.length() + "Bytes" );
2、Java中对于数据的输入、输出操作以流(stream)的方式进行;
(四个抽象类)字节流    字符流
输入流  InputStream   Reader
输出流  OutputStream  Writer
按功能分为节点流和处理流,凡是以Stream结尾的都是节点流;
常用方法:
InputStream:int read();int read(byte[] buffer);void close();
OutputStream:void write(byte b);void write(byte[] b);void flush();void close();
Reader:int read();int read(char[] cbuf);void close();
Writeer:void write(int c); void write(char[] cbuf);void write(String string);void close();void flush();
处理流:
FileInputStream(FileNotFoundExceptinon) 、FileOutputStream;(IOExceptinon)
FileInputStream(String filePath);FileInputStream(File fileObj);
FileOutputStream(String filePath);FileOutputStream(File fileObj);FileOutputStream(String filePath,boolean append);
FileReaderFileWriter;
BufferedInputStreamBufferedOutputStream;
BufferedReaderBufferedWriter;
InputStreadReaderOutputStreamWriter;
DataInputStreamDataOutputStream;
PrintStrem(针对字节)、 PrintWriter(针对字符);

Object流:直接将Object写入或读出;
public class TestObjectIO 
{
public static void main(String[] args)  throws Exception
{
T t = new T();
t.k = 8;
FileOutputStream fos = new FileOutputStream("F:/123.dat");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(t);
oos.flush();
oos.close();

FileInputStream fis = new FileInputStream("F:/123.dat");
ObjectInputStream ois = new ObjectInputStream(fis);
T tRead = (T)ois.readObject();
System.out.println(tRead.i +"," + tRead.j +","+ tRead.d+","+tRead.k);

}
}

class T implements Serializable
{
int i = 10;
int j = 9;
double d = 2.3;
int k = 15;transient int k = 15;//在序列化时,该变量不予考虑,不会写入文件
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值