Java io流 没写完

包:Java.io

包含所有操作输入输出的类
Stream 流:可以理解为一个数据的序列,输入流表示从源读取数据,输出流表示想目标写数据

1.控制台输入

使用System.in完成,获取从控制台绑定的字符流可以使用 BudderedReader类来实现
创建BufferedReader对象

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

从控制台读取字符流方式

char c;
        // 使用 System.in 创建 BufferedReader
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        System.out.println("输入字符, 按下 'q' 键退出。");
        // 读取字符
        do {
            c = (char) br.read();
            System.out.println(c);
        } while (c != 'q');

从控制台读取字符串

// 使用 System.in 创建 BufferedReader
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String str;
        System.out.println("输入字符串");
        System.out.println("输入end退出");
        do {
            str = br.readLine();
            System.out.println(str);
        } while (!str.equals("end"));

读写文件

1.文件输入流:FileInputStream

其包含两个有参构造函数获取inputstream对象
1.直接使用文件地址获取对象

InputStream f = new FileInputStream(path);

2.使用文件类获取对象后传入获取文件输入流对象

File file = new FIle(path)
InputStream in = new FileInputStream(file);

方法

close();关闭流
foinlize() 清除与文件的连接,确保不在引用文件流时调用close方法
read(int)获取读取的字节的数据,并转换为整型
read(byte[] r) 这个方法从输入流读取r.length长度的字节。返回读取的字节数。如果是文件结尾则返回-1。
available() 返回字节数 int类型

ByteArrayInputStream

方法:
read() 读取字节
available()返回字节数

DataInputStream类

2.文件输出流:FileOutputStream

用于创建一个文件并向文件写入数据
创建对象:

1.OutputStream f = new FileOutputStream(path)
2.File f = new File(path);
OutputStream fOut = new FileOutputStream(f);

方法:
close() 关闭流
finalize() 确保不在引用文件输入流的时候调用close方法
write(int i) 写入字节
write(byte[] )写入字节集

inputstream 及outputstream用法

写入

byte bWrite[] = { 11, 21, 3, 40, 5 }
 OutputStream os = new FileOutputStream("test.txt");
            for (int x = 0; x < bWrite.length; x++) {
                os.write(bWrite[x]); // writes the bytes
            }
            os.close();

读取:

InputStream is = new FileInputStream("test.txt");
            int size = is.available();
 
            for (int i = 0; i < size; i++) {
                System.out.print((char) is.read() + "  ");
            }
            is.close();

向文件写入中英文

 File f = new File("a.txt");
 FileOutputStream fop = new FileOutputStream(f);
 OutputStreamWriter writer = new OutputStreamWriter(fop, "UTF-8");
 writer.append("中文输入");
 writer.close();
 fop.close();

文件读写的类有:
File类
File(File parent, String child);
File(File parent, String child);
方法:

getName():获取文件名
getParent():获取父路径名
getParentFile():获取父路径file对象
 getPath() 获取当前文件路径
 isAbsolute()是否为绝对路径
 getAbsolutePath() 获取绝对路径字符串
 canWrite()文件是否只读
 exists() 文件是否存在
  isDirectory() 路径是否目录
  isFile() 路径是否文件
  lastModified() 获取路径所代表文件的最后修改时间
  length() 文件长度
  createNewFile() 创建文件
  delete()删除当前指定路径(文件或目录)
  .....

Filereader类
FileWrite类

创建目录

 String dirname = path;
        File d = new File(dirname);
        d.mkdirs();
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值