63.【Java I/O 操作】(三)

简介: 63.【Java I/O 操作】

(七)、字符缓冲流

20.字符缓冲流(读取)

1.缓冲流:BufferedReader/BufferedWriter
2.高效读写  
3.支持输入换行符 
4.可以一次写一行、读一行。
基本思路:
1.创建一个字符读取流
2.创建一个字符读取缓存区,把文件放到缓存区
3.关闭
import java.io.BufferedReader;
import java.io.FileReader;
public class Demo11 {
    public static void main(String[] args) throws Exception {
        //1.创建一个字符读取流
        FileReader fileReader=new FileReader("e:\\123.txt");
        //2.创建一个字符读取缓冲流
        BufferedReader bufferedReader=new BufferedReader(fileReader);
        int count=0;
        while ((count=bufferedReader.read())!=-1){
            System.out.println((char)count);
        }
        bufferedReader.close();
    }
}
import java.io.BufferedReader;
import java.io.FileReader;
public class Demo11 {
    public static void main(String[] args) throws Exception {
        //1.创建一个字符读取流
        FileReader fileReader=new FileReader("e:\\123.txt");
        //2.创建一个字符读取缓冲流
        BufferedReader bufferedReader=new BufferedReader(fileReader);
        char []buf=new char[1024];
        int count=0;
        while ((count=bufferedReader.read(buf))!=-1){
            System.out.println(new String(buf,0,count));
        }
        bufferedReader.close();
    }
}

21.字符缓冲流(写入)

基本思路:
1.创建文件字符
2.创建文件字符缓冲区
3.写入数据
4. newLine() 写入一个换行符
import java.io.BufferedWriter;
import java.io.FileWriter;
public class Demo12 {
    public static void main(String[] args) throws Exception {
        //1.设置文件字符输出
        FileWriter fileWriter=new FileWriter("e:\\147.txt");
        //2.设置文件字符写的缓存区
        BufferedWriter bufferedWriter=new BufferedWriter(fileWriter);
        //3.开始写的操作
        for (int i = 0; i <10 ; i++) {
            bufferedWriter.write("你好,小明");
            bufferedWriter.newLine(); //写入一个换行
        }
        System.out.println("项目完成");
        //关闭文件
        bufferedWriter.close();
    }
}

(八).打印输出流(printWriter)

22.打印输出流

打印输出流 (原样输出)
1.PrintWriter()
import java.io.PrintWriter;
public class Demo13 {
    public static void main(String[] args) throws Exception {
        //1.创建打印流
        PrintWriter printWriter=new PrintWriter("e:\\001.txt");
        //2.打印
        printWriter.println(91);
        printWriter.println(true);
        printWriter.println('a');
        printWriter.println("123");
        printWriter.close();
        System.out.println("打印成功");
    }
}

(九)、转换流(编码格式)

1.也叫做桥转换流:InputStreamReader/OutputStreamWriter
 (1).可将字节流转换为字符流
 (2).可设置字符的编码方式
 切记 : 读的文件的编码格式需要和设置的编码格式要一致否则会乱码
   (eg:utf-8 可以打印汉字 ,gbk 则会出现乱码)

23.输入转换流

import java.io.FileInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
public class Demo14 {
    public static void main(String[] args) throws Exception{
        //1.创建一个输入流
        FileInputStream fileInputStream=new FileInputStream("e:\\123.txt");
        //2.创建一个输入转换流,并且把输入流放进转换流
        InputStreamReader inputStreamReader=new InputStreamReader(fileInputStream,"utf8");  //指定编码
        int date=0;
        while ((date=inputStreamReader.read())!=-1){
            System.out.println((char)date);
        }
        inputStreamReader.close();
    }
}

24.输出转换流

基本思路:
1.创建文件流
2.创建文件输出转换流
3.关闭
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
public class Demo15 {
    public static void main(String[] args) throws Exception{
        //1.创建文件输出流
        FileOutputStream fileOutputStream=new FileOutputStream("e:\\1217.txt");
        //2.文件输出转换流
        OutputStreamWriter outputStream=new OutputStreamWriter(fileOutputStream,"UTF-8");
        for (int i = 0; i <10; i++) {
            outputStream.write("你好,傻瓜");
            outputStream.flush();
        }
        outputStream.close();
        System.out.println("运行完毕!");
    }
}

(十)、File类

概念:代表物理盘符中的一个文件或则文件夹

25.文件操作

基本思路:
1.创建文件
2.分隔符
3.删除文件
4.获取文件
5.判断文件 
import java.io.File;
import java.util.Date;
public class Demo16 {
    public static void main(String[] args) throws Exception {
        separator();
        fileOpe();
    }
    //1.分隔符
    public static void separator(){
        System.out.println("路径分割符:"+ File.pathSeparator);
        System.out.println("名称分隔符:"+File.separator);
    }
    //2.文件操作
    public static void fileOpe() throws Exception{
        //1.创建文件
        File file=new File("e:\\file.txt");
        System.out.println(file.toString());
        if (!file.exists()) {
            boolean b = file.createNewFile();
            System.out.println("创建的结果是:" + b);
        }
        //2.删除文件
            //2.1直接删除
     /*   if (file.exists()){
            file.delete();
            System.out.println("删除成功");
        }
            //2.2使用jvm进行删除
        file.deleteOnExit();
        Thread.sleep(5000);
        */
        //3.获取文件信息
        System.out.println("获取文件的绝对路径: "+file.getAbsolutePath());
        System.out.println("获取文件的路径 "+file.getPath());
        System.out.println("获取文件的名称 "+file.getName());
        System.out.println("获取父目录"+file.getParent());
        System.out.println("就获取文件的长度:"+file.length());
        System.out.println("获取创建时间:"+ new Date(file.lastModified()));
        //4.判断
        System.out.println("判断是否可写:"+file.canWrite());
        System.out.println("是否是文件"+file.isFile());
        System.out.println("是否是隐藏的:"+file.isHidden());
    }
}

相关文章
|
15小时前
|
XML 前端开发 Oracle
16:JSP简介、注释与Scriptlet、Page指令元素、Include操作、内置对象、四种属性-Java Web
16:JSP简介、注释与Scriptlet、Page指令元素、Include操作、内置对象、四种属性-Java Web
8 2
|
2天前
|
存储 NoSQL 安全
java 中通过 Lettuce 来操作 Redis
java 中通过 Lettuce 来操作 Redis
java 中通过 Lettuce 来操作 Redis
|
2天前
|
分布式计算 DataWorks Java
DataWorks操作报错合集之在使用MaxCompute的Java SDK创建函数时,出现找不到文件资源的情况,是BUG吗
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
15 0
|
2天前
|
Java 测试技术 Python
《手把手教你》系列技巧篇(三十六)-java+ selenium自动化测试-单选和多选按钮操作-番外篇(详解教程)
【4月更文挑战第28天】本文简要介绍了自动化测试的实战应用,通过一个在线问卷调查(&lt;https://www.sojump.com/m/2792226.aspx/&gt;)为例,展示了如何遍历并点击问卷中的选项。测试思路包括找到单选和多选按钮的共性以定位元素,然后使用for循环进行点击操作。代码设计方面,提供了Java+Selenium的示例代码,通过WebDriver实现自动答题。运行代码后,可以看到控制台输出和浏览器的相应动作。文章最后做了简单的小结,强调了本次实践是对之前单选多选操作的巩固。
11 0
|
3天前
|
分布式计算 DataWorks 监控
DataWorks操作报错合集之DataWorks在调用java sdk的createFile功能时报错com.aliyuncs.exceptions.ClientException: 1201111000 如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
9 1
|
3天前
|
存储 前端开发 测试技术
《手把手教你》系列技巧篇(三十五)-java+ selenium自动化测试-单选和多选按钮操作-下篇(详解教程)
【4月更文挑战第27天】本文介绍了使用Java+Selenium进行Web自动化测试时,如何遍历和操作多选按钮的方法。文章分为两个部分,首先是一个本地HTML页面的示例,展示了多选按钮的HTML代码和页面效果,并详细解释了遍历多选按钮的思路:找到所有多选按钮的共同点,通过定位这些元素并放入list容器中,然后使用for循环遍历并操作。 第二部分介绍了在JQueryUI网站上的实战,给出了被测网址,展示了代码设计,同样使用了findElements()方法获取所有多选按钮并存储到list中,然后遍历并进行点击操作。最后,文章对整个过程进行了小结,并推荐了作者的其他自动化测试教程资源。
12 0
|
5天前
|
前端开发 测试技术 Python
《手把手教你》系列技巧篇(三十三)-java+ selenium自动化测试-单选和多选按钮操作-上篇(详解教程)
【4月更文挑战第25天】本文介绍了自动化测试中如何处理单选和多选按钮的操作,包括它们的定义、HTML代码示例以及如何判断和操作这些元素。文章通过一个简单的HTML页面展示了单选和多选框的示例,并提供了Java+Selenium实现的代码示例,演示了如何检查单选框是否选中以及如何进行全选操作。
11 0
|
7天前
|
Java
【java基础】File操作详解
【java基础】File操作详解
8 0
|
7天前
|
数据采集 前端开发 测试技术
《手把手教你》系列技巧篇(三十一)-java+ selenium自动化测试- Actions的相关操作-番外篇(详解教程)
【4月更文挑战第23天】本文介绍了网页中的滑动验证码的实现原理和自动化测试方法。作者首先提到了网站的反爬虫机制,并表示在本地创建一个没有该机制的网页,然后使用谷歌浏览器进行验证。接着,文章详细讲解了如何使用WebElement的click()方法以及Action类提供的API来模拟鼠标的各种操作,如右击、双击、悬停和拖动。
9 2
|
8天前
|
前端开发 JavaScript Java
java使用jodd操作html
java使用jodd操作html
14 1