【JAVA基础篇教学】第十三篇:Java中I/O和文件操作

简介: 【JAVA基础篇教学】第十三篇:Java中I/O和文件操作

博主打算从0-1讲解下java基础教学,今天教学第十三篇:Java中I/O和文件操作。  


理解 Java 中的 I/O(输入/输出)和文件操作对于开发各种类型的应用程序都至关重要。I/O 操作涉及从文件、网络或其他数据源中读取数据,以及将数据写入到文件、网络或其他目的地。在 Java 中,可以使用 java.io 包中的类来执行各种 I/O 操作。下面是详细说明和代码教学案例!

一、文件读取(FileInputStream 和 BufferedReader)

说明:

  • 使用 FileInputStream 类来打开一个文件输入流。
  • 使用 BufferedReader 类包装 FileInputStream,以便一次读取一行数据。

示例代码:

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
 
public class FileReadExample {
    public static void main(String[] args) {
         try {
            FileInputStream fileInputStream = new FileInputStream("C:\\Users\\caozhen\\Desktop\\111.txt");
            BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(fileInputStream));
            String line;
            while ((line = bufferedReader.readLine()) != null) {
                System.out.println(line);
            }
            bufferedReader.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

2. 文件写入(FileOutputStream 和 BufferedWriter)

说明:

  • 使用 FileOutputStream 类来打开一个文件输出流。
  • 使用 BufferedWriter 类包装 FileOutputStream,以便一次写入一行数据。


示例代码:

import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
 
public class FileWriteExample {
    public static void main(String[] args) {
        try {
            FileOutputStream fileOutputStream = new FileOutputStream("C:\Users\caozhen\Desktop\output.txt");
            BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(fileOutputStream));
            bufferedWriter.write("Hello, world!");
            bufferedWriter.newLine(); // 换行
            bufferedWriter.write("This is a sample text.");
            bufferedWriter.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

3. 文件复制

说明:

  • 使用 FileInputStream 读取源文件的内容。
  • 使用 FileOutputStream 将读取的内容写入到目标文件中。

示例代码:

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
 
public class FileCopyExample {
    public static void main(String[] args) {
        try {
            FileInputStream sourceStream = new FileInputStream("C:\Users\caozhen\Desktop\output.txt");
            FileOutputStream targetStream = new FileOutputStream("C:\Users\caozhen\Desktop\output2.txt");
            byte[] buffer = new byte[1024];
            int length;
            while ((length = sourceStream.read(buffer)) != -1) {
                targetStream.write(buffer, 0, length);
            }
            sourceStream.close();
            targetStream.close();
            System.out.println("File copied successfully.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

4. 文件删除

说明:

  • 使用 File 类的 delete() 方法来删除指定的文件。

示例代码:

import java.io.File;
 
public class FileDeleteExample {
    public static void main(String[] args) {
        File file = new File("C:\\Users\\caozhen\\Desktop\\output.txt");
        if (file.exists()) {
            if (file.delete()) {
                System.out.println("File deleted successfully.");
            } else {
                System.out.println("Failed to delete the file.");
            }
        } else {
            System.out.println("File does not exist.");
        }
    }
}

以上是关于 Java 中的 I/O 和文件操作的详细说明和代码教学案例。这些例子涵盖了文件读取、写入、复制和删除等常见操作,希望对您有所帮助。

相关文章
|
5月前
|
Java Linux
java基础(3)安装好JDK后使用javac.exe编译java文件、java.exe运行编译好的类
本文介绍了如何在安装JDK后使用`javac.exe`编译Java文件,以及使用`java.exe`运行编译好的类文件。涵盖了JDK的安装、环境变量配置、编写Java程序、使用命令行编译和运行程序的步骤,并提供了解决中文乱码的方法。
116 2
|
14天前
|
存储 移动开发 算法
【潜意识Java】Java基础教程:从零开始的学习之旅
本文介绍了 Java 编程语言的基础知识,涵盖从简介、程序结构到面向对象编程的核心概念。首先,Java 是一种高级、跨平台的面向对象语言,支持“一次编写,到处运行”。接着,文章详细讲解了 Java 程序的基本结构,包括包声明、导入语句、类声明和 main 方法。随后,深入探讨了基础语法,如数据类型、变量、控制结构、方法和数组。此外,还介绍了面向对象编程的关键概念,例如类与对象、继承和多态。最后,针对常见的编程错误提供了调试技巧,并总结了学习 Java 的重要性和方法。适合初学者逐步掌握 Java 编程。
39 1
|
3月前
|
存储 缓存 Oracle
Java I/O流面试之道
NIO的出现在于提高IO的速度,它相比传统的输入/输出流速度更快。NIO通过管道Channel和缓冲器Buffer来处理数据,可以把管道当成一个矿藏,缓冲器就是矿藏里的卡车。程序通过管道里的缓冲器进行数据交互,而不直接处理数据。程序要么从缓冲器获取数据,要么输入数据到缓冲器。
Java I/O流面试之道
|
3月前
|
Java 大数据 API
14天Java基础学习——第1天:Java入门和环境搭建
本文介绍了Java的基础知识,包括Java的简介、历史和应用领域。详细讲解了如何安装JDK并配置环境变量,以及如何使用IntelliJ IDEA创建和运行Java项目。通过示例代码“HelloWorld.java”,展示了从编写到运行的全过程。适合初学者快速入门Java编程。
|
4月前
|
开发框架 IDE Java
java制作游戏,如何使用libgdx,入门级别教学
本文是一篇入门级教程,介绍了如何使用libgdx游戏开发框架创建一个简单的游戏项目,包括访问libgdx官网、设置项目、下载项目生成工具,并在IDE中运行生成的项目。
95 1
java制作游戏,如何使用libgdx,入门级别教学
|
5月前
|
设计模式 Java 关系型数据库
【Java笔记+踩坑汇总】Java基础+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外卖/谷粒商城/学成在线+设计模式+面试题汇总+性能调优/架构设计+源码解析
本文是“Java学习路线”专栏的导航文章,目标是为Java初学者和初中高级工程师提供一套完整的Java学习路线。
521 37
|
4月前
|
前端开发 小程序 Java
java基础:map遍历使用;java使用 Patten 和Matches 进行正则匹配;后端传到前端展示图片三种情况,并保存到手机
这篇文章介绍了Java中Map的遍历方法、使用Pattern和matches进行正则表达式匹配,以及后端向前端传输图片并保存到手机的三种情况。
47 1
|
5月前
|
安全 Java API
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
String常量池、String、StringBuffer、Stringbuilder有什么区别、List与Set的区别、ArrayList和LinkedList的区别、HashMap底层原理、ConcurrentHashMap、HashMap和Hashtable的区别、泛型擦除、ABA问题、IO多路复用、BIO、NIO、O、异常处理机制、反射
|
4月前
|
Oracle Java 关系型数据库
|
4月前
|
前端开发 Java API
Swagger接口文档 —— 手把手教学,全方位超详细小白能看懂,百分百能用Java版
本文提供了一份详细的Swagger接口文档生成工具的使用教程,包括了导入依赖、配置类设置、资源映射、拦截器配置、Swagger注解使用、生成接口文档、在线调试页面访问以及如何设置全局参数(如token),旨在帮助Java开发者快速上手Swagger。
1129 0
Swagger接口文档 —— 手把手教学,全方位超详细小白能看懂,百分百能用Java版