Java IO

简介: Java IO

package testIO;

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

/**


@author dell

*1.File类

*1.1 常见的构造器

*public File(String pathname) | public File(String parent,String child)

*1.2 访问文件名 文件检测类 获取文件信息

getName() exists() lastModified

getPath() canRead() length()

getAbsoluteFile() isFile()

getParent()

*2.IO原理及流的分类

*2.1字节流 InputStream(输入流),输出流OutputStream

*2.2字符流 Reader(输入流),输出流Writer

*3.文件流

*4.缓冲流

*4.1 BufferedInputStream BufferedReader

BufferedOutputStream BufferedWriter

*5.打印流

*PrintScream(字节打印流) PrintWriter(字符打印流)

*6.转换流

InputStreamReader OuputScreamReader

解码:字节数组字符串

编码:字符串字节数组

*7.数据流

*8.对象流

ObjectInputScream 和ObjectOutputScream 用于存储和读取对象的处理流

序列化(Serialize):用ObjectOutputScream类将一个java对象写入IO流中

private static final long serialVersionUID;

serialVersionUID用来表明类的不同版本间的兼容性

*9.随机存取文件流

*9.1RandomAccessFile类支持的“随机访问”的方式

*9.2对象包含一个记录指针

*long getFilePointer():获取文集记录的指针的当前位置

void seek(long pos):将文件记录的指针定位到pos位置。

/

public class TestIO {

public static void main(String[] args) throws FileNotFoundException,IOException {

/

*1.文件流

*1.1 读取文件

*1.1.1 建立一个文件流对象,加载进流

* FileReader fr = newFileReader(“hello.txt”)

*1.1.2 创建一个临时存放数据的数组

*char [] ch = new char[1024]

*1.1.3 调用对象的读取方法将流中的数据读入到数组中

*fr.read(ch)

*1.2 写入文件

*1.2.1创建流对象,建立数据存放文件

*1.2.2 调用流对象的写入方法,将数据写入流

*1.2.3 关闭流资源,并将流中的数据清空到文件中

*/

// File dir1 = new

File(“C:\Users\dell\Desktop\dir1”);

// File file = new

File(dir1,“hello.txt”);

// System.out.println(file.getAbsolutePath());

// System.out.println(file.getName());

FileReader fr = new FileReader(“C:\Users\dell\Desktop\hello.txt”);

char [] ch = new char[1024];

fr.read(ch);

fr.close();

System.out.println(ch);

BufferedReader br = null;

BufferedWriter bw = null;

//1.创建缓冲流对象

br = new BufferedReader(

new FileReader(“C:\Users\dell\Desktop\hello.txt”));

bw = new BufferedWriter(

new FileWriter(“C:\Users\dell\Desktop\des.txt”));

String str = null;

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

bw.write(str);

bw.newLine();

}

bw.flush();

if(bw != null) {

bw.close();

}

}

}


相关文章
|
5月前
|
监控 Java API
现代 Java IO 高性能实践从原理到落地的高效实现路径与实战指南
本文深入解析现代Java高性能IO实践,涵盖异步非阻塞IO、操作系统优化、大文件处理、响应式网络编程与数据库访问,结合Netty、Reactor等技术落地高并发应用,助力构建高效可扩展的IO系统。
155 0
|
2月前
|
Java Unix Go
【Java】(8)Stream流、文件File相关操作,IO的含义与运用
Java 为 I/O 提供了强大的而灵活的支持,使其更广泛地应用到文件传输和网络编程中。!但本节讲述最基本的和流与 I/O 相关的功能。我们将通过一个个例子来学习这些功能。
183 1
|
4月前
|
Java 测试技术 API
Java IO流(二):文件操作与NIO入门
本文详解Java NIO与传统IO的区别与优势,涵盖Path、Files类、Channel、Buffer、Selector等核心概念,深入讲解文件操作、目录遍历、NIO实战及性能优化技巧,适合处理大文件与高并发场景,助力高效IO编程与面试准备。
|
4月前
|
SQL Java 数据库连接
Java IO流(一):字节流与字符流基础
本文全面解析Java IO流,涵盖字节流、字符流及其使用场景,帮助开发者理解IO流分类与用途,掌握文件读写、编码转换、异常处理等核心技术,通过实战案例提升IO编程能力。
|
5月前
|
存储 Java Linux
操作系统层面视角下 Java IO 的演进路径及核心技术变革解析
本文从操作系统层面深入解析Java IO的演进历程,涵盖BIO、NIO、多路复用器及Netty等核心技术。分析各阶段IO模型的原理、优缺点及系统调用机制,探讨Java如何通过底层优化提升并发性能与数据处理效率,全面呈现IO技术的变革路径与发展趋势。
115 2
|
9月前
|
存储 网络协议 安全
Java网络编程,多线程,IO流综合小项目一一ChatBoxes
**项目介绍**:本项目实现了一个基于TCP协议的C/S架构控制台聊天室,支持局域网内多客户端同时聊天。用户需注册并登录,用户名唯一,密码格式为字母开头加纯数字。登录后可实时聊天,服务端负责验证用户信息并转发消息。 **项目亮点**: - **C/S架构**:客户端与服务端通过TCP连接通信。 - **多线程**:采用多线程处理多个客户端的并发请求,确保实时交互。 - **IO流**:使用BufferedReader和BufferedWriter进行数据传输,确保高效稳定的通信。 - **线程安全**:通过同步代码块和锁机制保证共享数据的安全性。
359 23
|
Java
Java 中 IO 流的分类详解
【10月更文挑战第10天】不同类型的 IO 流具有不同的特点和适用场景,我们可以根据具体的需求选择合适的流来进行数据的输入和输出操作。在实际应用中,还可以通过组合使用多种流来实现更复杂的功能。
403 57
|
10月前
|
缓存 网络协议 Java
JAVA网络IO之NIO/BIO
本文介绍了Java网络编程的基础与历史演进,重点阐述了IO和Socket的概念。Java的IO分为设备和接口两部分,通过流、字节、字符等方式实现与外部的交互。
304 0
|
Java
java 中 IO 流
Java中的IO流是用于处理输入输出操作的机制,主要包括字节流和字符流两大类。字节流以8位字节为单位处理数据,如FileInputStream和FileOutputStream;字符流以16位Unicode字符为单位,如FileReader和FileWriter。这些流提供了读写文件、网络传输等基本功能。
227 10
|
存储 缓存 Java
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
这篇文章详细介绍了Java中的IO流,包括字符与字节的概念、编码格式、File类的使用、IO流的分类和原理,以及通过代码示例展示了各种流的应用,如节点流、处理流、缓存流、转换流、对象流和随机访问文件流。同时,还探讨了IDEA中设置项目编码格式的方法,以及如何处理序列化和反序列化问题。
383 1
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)