当前位置: 首页 > news >正文

Java零基础入门-输入与输出

哈喽,各位小伙伴们,你们好呀,我是喵手。

  今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。

  我是一名后端开发爱好者,工作日常接触到最多的就是Java语言啦,所以我都尽量抽业余时间把自己所学到所会的,通过文章的形式进行输出,希望以这种方式帮助到更多的初学者或者想入门的小伙伴们,同时也能对自己的技术进行沉淀,加以复盘,查缺补漏。

小伙伴们在批阅的过程中,如果觉得文章不错,欢迎点赞、收藏、关注哦。三连即是对作者我写作道路上最好的鼓励与支持!

前言

Java作为一种流行的编程语言,为开发人员提供了许多灵活的输入和输出方式。本文将介绍Java的输入输出(I/O)基础知识并提供相关示例。这些示例将帮助读者更好地理解Java的输入输出。

摘要

在Java中,输入和输出是通过流(stream)实现的。流表示从输入源(如文件或网络)获取数据或将数据发送到输出目标的方式。

Java的I/O包提供了许多与文件、控制台、网络和其他I/O设备的交互方式。Java中的流有两种类型:字节流和字符流。字节流可以读取字节和写入字节,字符流可以读取字符和写入字符。

Java之输入与输出

简介

Java的I/O包提供了许多类和接口来执行输入和输出操作。这些类和接口包括File类、InputStream和OutputStream类、Reader和Writer类、BufferedReader和PrintWriter类、DataInputStream和DataOutputStream类等等。

在使用Java进行文件I/O时,我们通常需要指定文件的路径。Java中的文件路径可以是相对路径或绝对路径。相对路径是相对于Java运行时的当前目录,而绝对路径则是从该文件系统的根开始的完整路径。

源代码解析

写入文件

下面的代码示例演示了如何使用Java的FileWriter类将数据写入文件:

import java.io.FileWriter;
import java.io.IOException;public class WriteToFile {public static void main(String[] args) {String data = "Hello, World!";String fileName = "output.txt";try {FileWriter writer = new FileWriter(fileName);writer.write(data);writer.close();System.out.println("Data has been written to the file.");} catch (IOException e) {System.out.println("An error occurred.");e.printStackTrace();}}
}

上面的代码创建了一个名为output.txt的文件并将字符串“Hello, World!”写入其中。使用FileWriter类可以很容易地完成这个任务。

读取文件

下面的代码示例演示了如何使用Java的FileReader类从文件中读取数据:

import java.io.FileReader;
import java.io.IOException;public class ReadFromFile {public static void main(String[] args) {String fileName = "input.txt";try {FileReader reader = new FileReader(fileName);int character;while ((character = reader.read()) != -1) {System.out.print((char) character);}reader.close();} catch (IOException e) {System.out.println("An error occurred.");e.printStackTrace();}}
}

上面的代码创建了一个名为input.txt的文件并从文件中读取所有内容。在这个示例中,我们使用了FileReader类来实现。使用while循环一次读取一个字符,直到达到文件的结尾。最后,我们关闭了reader对象以便释放资源。

应用场景案例

Java的I/O包可以在许多方面帮助我们处理文件和其他数据源。以下是一些使用Java I/O执行的常见任务:

  1. 读取和解析CSV文件。
  2. 从URL中读取HTML数据。
  3. 通过网络发送和接收数据。
  4. 将数据写入数据库。

优缺点分析

Java I/O的主要优点是它提供了许多不同类型的流以处理各种数据类型。Java I/O还提供了灵活的API,使开发人员可以使用不同的输入/输出源并以不同的方式处理数据。另外,Java I/O是平台无关的,因此可以在不同的操作系统上运行。Java I/O的主要缺点是它可能会变得相当复杂,尤其是当涉及到处理大量数据时。

类代码方法介绍

File类

File类提供了用于创建、删除、重命名和查找文件和目录的方法。以下是一些常用的File类方法:

public boolean exists()

该方法返回一个布尔值,指示该文件或目录是否存在。

public boolean isDirectory()

该方法返回一个布尔值,指示该File对象是否代表一个目录。

public boolean isFile()

该方法返回一个布尔值,指示该File对象是否代表一个文件。

InputStream和OutputStream类

InputStream和OutputStream类是Java I/O中最基本的类之一。InputStream类表示从输入源读取数据的输入流。OutputStream类表示将数据写入输出目标的输出流。以下是一些常用的InputStream和OutputStream类方法:

public abstract int read() throws IOException

该方法从输入流中读取下一个字节,并返回一个int类型的值。如果已经到达流的末尾,则返回-1。

public void write(byte[] b) throws IOException

该方法将一个字节数组写入输出流。

BufferedReader和PrintWriter类

BufferedReader和PrintWriter类是Java I/O中一个非常有用的工具。BufferedReader类提供了一种逐行读取输入的方式,PrintWriter类则提供了一种将对象格式化为文本并写入输出的方式。以下是一些常用的BufferedReader和PrintWriter类方法:

public String readLine() throws IOException

该方法从输入流中读取一行文本,并返回一个字符串。如果已经到达流的末尾,则返回null。

public void println(Object obj)

该方法将一个对象转换为字符串,并将其写入输出流。它还将自动附加一个换行符。

DataInputStream和DataOutputStream类

DataInputStream和DataOutputStream类提供了一种将Java类型转换为字节数据以写入输出流的方式,以及将字节数据转换回Java类型以读取输入流的方式。以下是一些常用的DataInputStream和DataOutputStream类方法:

public void writeInt(int value) throws IOException

该方法将一个int类型的值写入输出流。

public int readInt() throws IOException

该方法从输入流中读取四个字节,并将它们转换为一个int类型的值。

测试用例

以下是一个简单的测试用例,用于演示如何在Java中使用文件I/O:

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;public class TestFileIO {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("Enter file name: ");String fileName = scanner.nextLine();try {File file = new File(fileName);if (!file.exists()) {file.createNewFile();}FileWriter writer = new FileWriter(file);System.out.print("Enter text: ");String text = scanner.nextLine();writer.write(text);writer.close();System.out.println("Text has been written to the file.");} catch (IOException e) {System.out.println("An error occurred.");e.printStackTrace();}}
}

上面的代码将从用户输入中获取文件名和文本,并将文本写入指定的文件中。如果文件不存在,则会自动创建一个新文件。

全文小结

在本文中,我们介绍了Java的输入输出基础知识,并提供了一些相关示例。我们还讨论了Java I/O的常见应用场景,并分析了其优缺点。最后,我们介绍了一些常用的Java I/O类及其方法,并提供了一个简单的测试用例。

总结

Java的输入和输出是通过流实现的,Java的I/O包提供了许多类和接口来执行输入和输出操作。当使用Java进行文件I/O时,我们需要指定文件的路径,Java中的文件路径可以是相对路径或绝对路径。在处理大量数据时,Java I/O可能会变得相当复杂。Java I/O的主要优点是提供了许多不同类型的流以处理各种数据类型,同时Java I/O还是平台无关的。

… …

文末

好啦,以上就是我这期的全部内容,如果有任何疑问,欢迎下方留言哦,咱们下期见。

… …

学习不分先后,知识不分多少;事无巨细,当以虚心求教;三人行,必有我师焉!!!

wished for you successed !!!


⭐️若喜欢我,就请关注我叭。

⭐️若对您有用,就请点赞叭。

⭐️若有疑问,就请评论留言告诉我叭。

http://www.lryc.cn/news/218462.html

相关文章:

  • iOS报错命名空间“std”中的“unary_function”
  • Flink SQL 窗口聚合详解
  • 中间件redis的使用
  • Why delete[] array when deepcopying with “=“?
  • curl(六)DNS解析、认证、代理
  • (免费领源码)PHP#MySQL高校学生信息管理系统28099-计算机毕业设计项目选题推荐
  • [动态规划] (四) LeetCode 91.解码方法
  • Vue Vuex的使用和原理 专门解决共享数据的问题
  • 第九周实验记录
  • STM32WB55开发(6)----FUS更新
  • centos关闭Java进程的脚本
  • 深度学习网络模型 MobileNet系列MobileNet V1、MobileNet V2、MobileNet V3网络详解以及pytorch代码复现
  • Spring 中 BeanFactory 和 FactoryBean 有何区别?
  • 黑马程序员项目-黑马点评
  • ubuntu 20.04 + Anaconda + cuda-11.8 + opencv-4.8.0(cuda)
  • Linux 目录
  • Linux shell编程学习笔记21:用select in循环语句打造菜单
  • 线性回归与线性拟合的原理、推导与算法实现
  • 【C++】set和multiset
  • 二十、泛型(1)
  • 【Unity数据交互】游戏中常用到的Json序列化
  • TCP的滑动窗口和拥塞控制
  • 零信任网络:一种全新的网络安全架构
  • 基于单片机的智能拐杖软件设计
  • 小程序如何设置自动预约快递
  • STM32-HAL库08-TIM的输出比较模式(输出PWM的另一种方式)
  • 【数据结构】深入浅出讲解计数排序【图文详解,搞懂计数排序这一篇就够了】
  • Canvas制作喷泉效果示例
  • 什么是NPM(Node Package Manager)?它的作用是什么?
  • oracle如果不适用toad或者plsql工具如何获取索引建表语句