【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 和文件操作的详细说明和代码教学案例。这些例子涵盖了文件读取、写入、复制和删除等常见操作,希望对您有所帮助。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/545552.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

动态数据源实现分表走shardingsphere,不分表走其他

shardingsphere从4.1.1升级到5.2.1但是还没有完结,因为在执行存储过程的时候,系统提示错误如下。shardingsphere是不支持存储过程呢,但项目中不能避免使用存储过程,因为有大量的数据需要初始化,这种情况该如何应对&…

Java反序列化Commons-Collections-CC1链

环境搭建 JDK8u71以下,这个漏洞已经被修复了,这个JDK的以上版本都修复了漏洞 JDK8u65 下载地址 https://www.oracle.com/cn/java/technologies/javase/javase8-archive-downloads.html这个时候来到 pom.xml 配置Maven依赖下载CommonsCollections3.2.…

UE5 GAS开发P31 将hud绑定在自己的角色上

在WidgetController内新建一个OverlayAuraWidgetController,然后修改HUD的初始状态 AuraHUD // Fill out your copyright notice in the Description page of Project Settings. #pragma once #include "CoreMinimal.h" #include "GameFramework/HUD.h" #…

“Python+”集成技术高光谱遥感数据处理与机器学习深度应用

涵盖高光谱遥感数据处理的基础、python开发基础、机器学习和应用实践。重点解释高光谱数据处理所涉及的基本概念和理论,旨在帮助学员深入理解科学原理。结合Python编程工具,专注于解决高光谱数据读取、数据预处理、高光谱数据机器学习等技术难题&#xf…

亚马逊测评必看:全面剖析亚马逊测评,你不知道的那些事!

随着电商市场的拓展,曹哥今天针对测评小白们写一些入门知识,今天就带大家从内到外的亚马逊这个平台讲一讲 首先这个行业里分别有几个角色: 1.卖家:所有的服务基本上都是围绕着卖家来转 2.买家:也就是购买下单上评论…

GpuMall镜像社区上线啦!超值福利抢鲜体验!

想快速体验最新最优镜像?想随手分享你的原创镜像?想寻找一个交流镜像的优质平台?我们听到了广大友友们迫切的心声! GpuMall智算云 | 省钱、好用、弹性。租GPU就上GpuMall,面向AI开发者的GPU云平台 现在!我们的镜像社…

Rust腐蚀服务器插件安装教程

Rust腐蚀服务器插件安装教程 大家好我是艾西,一个做服务器租用的网络架构师。之前教大家怎么搭建Rust腐蚀服务器,那么很多小伙伴在搭建完成后发现自己的游戏跟平台玩的还是有差别,其实这里主要缺少mod插件了。那么本期我们教一下大家mod插件…

跑腿平台隐藏服务用法,搭建平台这些跑腿服务也能做!

跑腿场景竞争愈发激烈激烈 事实上,跑腿行业早已群狼环伺,尽管跑腿领域仍有很大的发展空间,但新晋玩家都普遍把目光投向了外卖配送这个细分领域,难免会增加后来者的市场拓展和发展难度。那么,在跑腿服务行业中还有哪些…

Linux服务器磁盘扩容后,但是宝塔面板没有即使生效,以解决~!

前景描述:我是100G的磁盘,扩容到200G. 第一步查看服务器的当前磁盘 df -h 显示 99G,已经扩容了,但是服务器还没有更新信息。 第二步安装插件: yum install -y cloud-utils-growpart 第三步扩展分区: …

Java基础(变量)

什么是变量? 变量:在程序的执行过程中,其值有可能发生改变的量(数据) 变量的使用场景 当某个数据经常发生改变时,我们也可以用变量储存。当数据变化时,只要修改变量里面记录的值即可。 变量…

C++生成动态库,C++和C#以及Java在windows和linux调用

Windows生成dllC库 1、创建动态链接库项目 源文件编写函数 // dllmain.cpp : 定义 DLL 应用程序的入口点。 #include "pch.h"int sum(int a, int b) {return a b; }BOOL APIENTRY DllMain( HMODULE hModule,DWORD ul_reason_for_call,LPVOID lpReserved) {switch…

C语言——字符函数和字符串函数

Hello,大家好,今天和大家分享C语言中的几个字符函数和字符串函数,记得三连支持一下哦! 在编程的过程中,我们经常要处理字符和字符串,为了⽅便操作字符和字符串,C语⾔标准库中提供了⼀系列库函数…

54Max09116-源代码 刚出max的第一个版本

54Max09116-源代码 刚出max的第一个版本 参考资料: 54Max09116-源代码 刚出max的第一个版本_98999NET源码资源网

华为ensp中nat地址转换(静态nat 动态nat NAPT 和Easy IP)配置命令

作者主页&#xff1a;点击&#xff01; ENSP专栏&#xff1a;点击&#xff01; 创作时间&#xff1a;2024年4月15日12点03分 实验拓扑 接下来我会分几个方面初步将静态nat和napt easy ip 首先基本的环境配置 AR1的基本配置 //基本的IP配置和默认路由指向外网 <Huawei&…

用html写一个有趣的鬼魂动画

<!DOCTYPE html> <html lang"en" > <head><meta charset"UTF-8"><title>一个有趣的鬼魂动画</title><link rel"stylesheet" href"https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.m…

EV证书——打造高端信任,构建网络信任的坚固屏障

简介 随着网络交易和在线活动的日益频繁&#xff0c;消费者对网络安全和隐私保护的意识不断提高。在这样的背景下&#xff0c;扩展验证&#xff08;Extended Validation, EV&#xff09;证书作为一种更高级别的SSL证书&#xff0c;成为了众多企业尤其是电子商务、金融机构和高…

水水水水水水水水水水水水

欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C、Python、Matlab&#xff0c;机器人运动控制、多机器人协作&#xff0c;智能优化算法&#xff0c;滤波估计、多传感器信息融合&#xff0c;机器学习&#xff0c;人工智能等相关领域的知识和技术。关…

python爬取京东商品信息与可视化

项目介绍&#xff1a;使用python爬取京东电商拿到价格、店铺、链接、销量并做可视化 ........................................................................................................................................................... 项目介绍效果展示全部…

CentOS7使用Docker搭建Joplin Server并实现多端同步与公网使用本地笔记

文章目录 1. 安装Docker2. 自建Joplin服务器3. 搭建Joplin Sever4. 安装cpolar内网穿透5. 创建远程连接的固定公网地址 Joplin 是一个开源的笔记工具&#xff0c;拥有 Windows/macOS/Linux/iOS/Android/Terminal 版本的客户端。多端同步功能是笔记工具最重要的功能&#xff0c;…

WP免费主题下载

免费wordpress模板下载 高端大气上档次的免费wordpress主题&#xff0c;首页大图全屏显示经典风格的wordpress主题。 https://www.wpniu.com/themes/289.html 免费WP主题 蓝色简洁实用的wordpress免费主题模板&#xff0c;免费主题资源分享给大家。 https://www.wpniu.com/…