Java中文件与输入输出

简介: Java中文件与输入输出

在Java中,文件与输入输出(I/O)操作是编程中经常需要处理的任务之一。Java提供了一套丰富的类和方法来支持文件的读取、写入以及标准输入输出的操作。下面是一些关于Java文件与输入输出操作的基本概念和示例。

文件操作

文件读取

Java中可以使用java.io.File类来操作文件,结合java.io.FileInputStreamjava.io.FileReaderjava.nio.file.Files等类来读取文件内容。

示例:

java复制代码

 

import java.io.File;

 

import java.io.FileReader;

 

import java.io.BufferedReader;

 

import java.io.IOException;

 

 

 

public class FileReadingExample {

 

public static void main(String[] args) {

 

File file = new File("example.txt");

 

FileReader fr = null;

 

BufferedReader br = null;

 

 

 

try {

 

fr = new FileReader(file);

 

br = new BufferedReader(fr);

 

String line;

 

while ((line = br.readLine()) != null) {

 

System.out.println(line);

 

}

 

} catch (IOException e) {

 

e.printStackTrace();

 

} finally {

 

try {

 

if (br != null) br.close();

 

if (fr != null) fr.close();

 

} catch (IOException ex) {

 

ex.printStackTrace();

 

}

 

}

 

}

 

}

文件写入

可以使用java.io.FileOutputStreamjava.io.FileWriter等类来写入文件内容。

示例:

java复制代码

 

import java.io.File;

 

import java.io.FileWriter;

 

import java.io.IOException;

 

 

 

public class FileWritingExample {

 

public static void main(String[] args) {

 

File file = new File("output.txt");

 

FileWriter fw = null;

 

 

 

try {

 

fw = new FileWriter(file);

 

fw.write("Hello, World!");

 

} catch (IOException e) {

 

e.printStackTrace();

 

} finally {

 

try {

 

if (fw != null) fw.close();

 

} catch (IOException ex) {

 

ex.printStackTrace();

 

}

 

}

 

}

 

}

标准输入输出

Java使用System.in作为标准输入流,System.outSystem.err作为标准输出流和错误输出流。通常与java.io.BufferedReaderjava.io.PrintStreamjava.io.PrintWriter结合使用。

示例:从控制台读取输入:

java复制代码

 

import java.io.BufferedReader;

 

import java.io.InputStreamReader;

 

import java.io.IOException;

 

 

 

public class ConsoleInputExample {

 

public static void main(String[] args) {

 

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

 

System.out.print("Enter your name: ");

 

String name = null;

 

try {

 

name = br.readLine();

 

System.out.println("Hello, " + name + "!");

 

} catch (IOException e) {

 

e.printStackTrace();

 

}

 

}

 

}

使用NIO(New I/O)

从Java NIO(New I/O)开始,Java引入了新的I/O API,提供了更高效的I/O处理方式,如通道(Channel)、缓冲区(Buffer)等。这些API通常用于处理大量数据或需要高性能I/O的场景。

示例:使用NIO读取文件:

java复制代码

 

import java.io.IOException;

 

import java.nio.ByteBuffer;

 

import java.nio.channels.FileChannel;

 

import java.nio.file.Paths;

 

import java.nio.file.StandardOpenOption;

 

import java.nio.charset.StandardCharsets;

 

 

 

public class NIOFileReadingExample {

 

public static void main(String[] args) {

 

try (FileChannel fileChannel = new FileInputStream(Paths.get("example.txt").toFile())

 

.getChannel()) {

 

ByteBuffer buffer = ByteBuffer.allocate(1024);

 

while (fileChannel.read(buffer) > 0) {

 

buffer.flip(); // 准备从缓冲区读取数据

 

while (buffer.hasRemaining()) {

 

System.out.print((char) buffer.get());

 

}

 

buffer.clear(); // 清除缓冲区,准备下一次读取

 

}

 

} catch (IOException

 

相关文章
|
20天前
|
分布式计算 DataWorks Java
DataWorks操作报错合集之在使用MaxCompute的Java SDK创建函数时,出现找不到文件资源的情况,是BUG吗
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
31 0
|
8天前
|
Web App开发 Java 测试技术
《手把手教你》系列技巧篇(五十六)-java+ selenium自动化测试-下载文件-上篇(详细教程)
【5月更文挑战第20天】本文介绍了自动化测试中如何实现无弹窗下载文件,主要针对Firefox浏览器。作者指出,通常的下载操作包括点击下载按钮,但这里讨论的是避免下载弹窗直接保存文件的方法。文章详细讲解了通过设置Firefox参数(如`browser.download.dir`、`browser.helperApps.neverAsk.saveToDisk`等)来实现这一功能,并给出了Java Selenium的示例代码,展示了如何创建FirefoxProfile并进行相关设置,以及如何启动浏览器和执行下载操作。
25 0
《手把手教你》系列技巧篇(五十六)-java+ selenium自动化测试-下载文件-上篇(详细教程)
|
20天前
|
Java
【Java开发指南 | 第二十一篇】Java流之文件
【Java开发指南 | 第二十一篇】Java流之文件
18 0
|
5天前
|
Java Apache
Java将word、excel文件转成pdf文件
【5月更文挑战第26天】Java将word、excel文件转成pdf文件
32 1
|
6天前
|
存储 Java
java使用pdfbox 3.0版本删除pdf文件中指定字符所在行,生成新的pdf文件
【5月更文挑战第25天】java使用pdfbox 3.0版本删除pdf文件中指定字符所在行,生成新的pdf文件
14 1
|
6天前
|
存储 缓存 Java
Java 文件 & 文件操作
Java 文件 & 文件操作
|
6天前
|
存储 Java 数据库连接
从 0 实现一个文件搜索工具 (Java 项目)
从 0 实现一个文件搜索工具 (Java 项目)
48 17
|
6天前
|
Web App开发 Java 测试技术
《手把手教你》系列技巧篇(五十七)-java+ selenium自动化测试-下载文件-下篇(详细教程)
【5月更文挑战第21天】本文介绍了自动化测试中如何实现无弹窗下载文件,特别针对Chrome浏览器。通过设置`download.default_directory`和`profile.default_content_settings.popups`,可以避免下载弹窗并指定下载路径。示例代码展示了如何使用Java和Selenium实现这一功能,包括导入相关库、设置ChromeOptions和执行下载操作。最后,文章提到虽然没有介绍IE浏览器的下载方法,但已有Chrome和Firefox的方法已足够应对大多数需求。
25 0
|
7天前
|
Java Linux C语言
Java中值得注意的『运算符、逻辑控制、输入输出』
Java中值得注意的『运算符、逻辑控制、输入输出』
|
11天前
|
存储 Java 编译器
Java文件IO操作基础
Java文件IO操作基础
9 0