- 浏览: 188224 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (321)
- eclipse (4)
- idea (2)
- Html (8)
- Css (14)
- Javascript (8)
- Jquery (6)
- Ajax Json (4)
- Bootstrap (0)
- EasyUI (0)
- Layui (0)
- 数据结构 (0)
- Java (46)
- DesPattern (24)
- Algorithm (2)
- Jdbc (8)
- Jsp servlet (13)
- Struts2 (17)
- Hibernate (11)
- Spring (5)
- S2SH (1)
- SpringMVC (4)
- SpringBoot (11)
- WebService CXF (4)
- Poi (2)
- JFreeChart (0)
- Shiro (6)
- Lucene (5)
- ElasticSearch (0)
- JMS ActiveMQ (3)
- HttpClient (5)
- Activiti (0)
- SpringCloud (11)
- Dubbo (6)
- Docker (0)
- MySQL (27)
- Oracle (18)
- Redis (5)
- Mybatis (11)
- SSM (1)
- CentOS (10)
- Ant (2)
- Maven (4)
- Log4j (7)
- XML (5)
最新评论
1. Java中I/O的InputStream流
1. 使用InputStream流读取文件内容 public class InputStreamTest1 { public static void main(String[] args) throws Exception{ InputStream is = new FileInputStream("c:/hello.txt"); byte[] buffer = new byte[200]; int length = 0; while(-1 != (length = is.read(buffer, 0, 200))){ String str = new String(buffer,0, length); System.out.println(str); } is.close(); } } 2. 使用InputStream流遍历文件夹结构,并排序 import java.io.File; import java.util.ArrayList; public class ListAllTest { // 用于判断目录或文件所处的层次 private static int time; // 递归的方法 public static void deepList(File file){ if (file.isFile() || 0 == file.listFiles().length) { return; } else { File[] files = file.listFiles(); files = sort(files); for (File f : files){ StringBuffer output = new StringBuffer(); if(f.isFile()){ output.append(getTabs(time)); output.append(f.getName()); }else { output.append(getTabs(time)); output.append(f.getName()); // 标识目录用,没有实际意义 output.append("\\"); } System.out.println(output); if(f.isDirectory()){ time++; deepList(f); time--; } } } } // 整理文件数组,使得目录排在文件之前 private static File[] sort(File[] files) { ArrayList<File> sorted = new ArrayList<File>(); // 寻找到所有的目录 for (File f : files){ if (f.isDirectory()){ sorted.add(f); } } // 寻找到所有的文件 for (File f : files){ if (f.isFile()){ sorted.add(f); } } return sorted.toArray(new File[files.length]); } // 判断需要加多少 tab的方法 private static String getTabs(int time){ StringBuffer buffer = new StringBuffer(); for (int i = 0; i < time; i++) { buffer.append("\t"); } return buffer.toString(); } public static void main(String[] args) { File file = new File("C:\\Documents and Settings\\Administrator\\My Documents\\JDdongdong\\JIMPersonal\\流年andrew"); deepList(file); } } 运行结果: data\ Message.db Profile.db HeadImage\ Image\ 7CCFE52D-BBCC-48DA-A6F9-29251E4AC52B.png Product\ 5459a447N250ba8e8.jpg 55093e75N1743a6f2.jpg RecvFile\ Temp\
发表评论
-
Java中获取IP地址、子网掩码、网关地址
2019-06-26 10:53 01. Java中获取IP地址、子网掩码、网关地址、ping连通 ... -
Java中ThreadLocal
2019-04-19 10:44 01. Java中ThreadLocal Java中的Th ... -
Java中原子性锁synchronized、Lock
2019-04-18 15:19 01. synchronized依赖JVM 1) 修饰代码 ... -
Java中原子性Atomic
2019-04-18 14:45 01. Atomic包简介 java.util.concu ... -
开发常用链接
2019-03-26 11:21 0在线工具:http://tool.oschina.net/ ... -
java1234学习目录
2019-03-21 11:08 01-01-01 N01 J2SEv2(41课时) ... -
Java中TCP和UDP
2018-10-25 10:55 3401. 网页内容获取 Url1.java impor ... -
Java中Thread线程
2018-10-25 09:38 3831. 实现线程的两种方式 1. 继承Thread类并重写 ... -
Java中serializable序列化
2018-10-24 14:46 4701. 序列化 transient不会被序列化。 imp ... -
Java中CharSet集
2018-10-24 11:31 5371. CharSet集 import java.nio. ... -
Java中RandomAccessFile类
2018-10-24 11:30 4981. RandomAccessFile类 1. 使用Ra ... -
Java中I/O的字符流InputStreamReader和OutputStreamWriter
2018-10-22 09:43 4371. InputStreamReader和OutputStre ... -
Java中其它输入输出流
2018-10-22 09:08 4661. ByteArrayInputStream流 以ar ... -
Java中I/O的OutputStream流
2018-10-22 08:54 4831. Java中I/O的OutputStream流 1. ... -
Java中I/O的File类
2018-10-19 13:45 4301. Java中I/O的File类 1. 在window ... -
Java中innerClass内部类
2018-10-18 09:37 4341. Java中innerClass内部类 用AA.BB ... -
Java中adapter适配器
2018-10-18 08:36 5801. Java中adapter适配器 适配器adapte ... -
Java中awt包
2018-10-17 11:26 17051. Java中awt包 AWT事件模型Event 1 ... -
Java中frame对象
2018-10-17 10:56 6671. Java中frame对象 1. Frame对象 ... -
Java中exception异常
2018-10-17 10:24 4091. Java中exception异常 Java中的异常 ...
相关推荐
Java中的I/O流处理是程序与外部设备交互数据的关键机制,包括从文件、网络、内存等数据源读取数据和向这些目标写入数据。I/O流系统在Java的`java.io`包中被实现,提供了丰富的类和接口来支持各种类型的流操作。 **I...
阻塞I/O模型是最常见的I/O模式,在Java中主要体现在`InputStream`和`OutputStream`等基本I/O类上。当一个线程调用read或write方法时,如果数据尚未准备好,那么这个线程会被挂起,即进入阻塞状态,直到数据准备就绪...
Java中的I/O流是程序与外部数据交互的重要机制,它允许数据在程序、文件、网络等之间流动。I/O流分为两大类:字符流(Character Stream)和字节流(Byte Stream),每类又分为输入流(Input Stream)和输出流...
过滤流(Filter Stream)是Java I/O框架中的一个重要概念,它提供了一种优雅的方式来进行数据的读写操作,同时允许我们添加额外的功能,如字符编码转换、数据压缩等。本篇文章将深入探讨Java I/O中的过滤流,以及...
2. **标准I/O库**:详细讲解了java.io包中的类和接口,如File类用于文件的创建、读写和删除,InputStream和OutputStream是所有字节流的基类,Reader和Writer则是字符流的基类。此外,还有ObjectInputStream和...
在Java中,I/O操作是通过数据流的概念来实现的。 数据流的基本概念涉及数据的流动方向和组织层次。数据流可以分为输入数据流和输出数据流,前者只能读取数据,后者只能写入数据。在Java中,`java.io`包提供了这些...
在Java中,I/O是通过一系列流(Stream)类来实现的,这些类允许数据从一个源头(如键盘、文件、网络连接)传输到目的地(如显示器、文件、网络)。下面我们将详细探讨Java I/O系统的关键知识点。 1. **流的分类**:...
Java I/O 包含了用于读写文件、网络通信、字符流和字节流的各种类,如InputStream、OutputStream、Reader、Writer以及它们的子类。例如,FileInputStream和FileOutputStream用于文件操作,SocketInputStream和...
在Java I/O编程中,理解不同类型的流及其用途至关重要。字节流和字符流分别处理二进制和文本数据,过滤流提供了额外的功能,管道流实现了线程间的通信,对象流使得对象可以持久化。掌握这些基础,开发者能够有效地...
在Java编程中,I/O(Input/Output)处理是与外部世界交互的关键技术,涉及文件读写、网络通信等场景。I/O的核心思想是通过流(Stream)来传输数据,使得程序能从数据源读取数据或将数据写入目标。 **1.1 I/O简介** I...
Java I/O(输入/输出)系统是Java编程语言中用于处理数据流的重要组成部分,它允许程序与外部资源如文件、网络、硬件设备等进行交互。深入理解Java I/O的工作机制对于开发高效、可靠的系统至关重要。以下是对Java I/...
在Java中,I/O流是通过流的概念来实现的,流是一种抽象表示,用于表示输入设备或输出设备。根据不同的功能,I/O流可以分为输入流和输出流两种。 输入流 输入流是用于读取数据的流,常用的输入流有InputStream、...
Java 1.0 和 1.1 中的I/O类主要是基于两个基础类:`InputStream`和`OutputStream`,它们处理字节流。`InputStream`家族包括了如`ByteArrayInputStream`、`FileInputStream`等,它们分别从字节数组或文件中读取数据。...
在Java中,I/O系统基于流的概念,流可以被视为数据的流动渠道,既可以用来读取数据(输入流),也可以写入数据(输出流)。本篇文章将深入探讨Java I/O系统的核心概念、主要类库以及常见使用场景。 首先,Java I/O...
- **流(Stream)**:Java I/O中的流分为字节流(Byte Stream)和字符流(Character Stream)。字节流处理单个字节的数据,如InputStream和OutputStream家族;字符流处理Unicode字符,如Reader和Writer家族。 - **...
Java I/O 流是Java平台中的一个重要组成部分,它在处理数据输入和输出方面扮演着核心角色。I/O流系统提供了一种标准化的方式来读取、写入数据,无论是从磁盘、网络、内存还是其他类型的输入输出设备。在这个思维导图...
Java I/O系统主要涉及四种基本的流分类方式:根据数据流动的方向、数据处理的类型、流处理的源以及是否使用了缓冲机制。 **1. 按数据流动方向** - **输入流(Input Stream)**:主要用于从某个数据源中读取数据,...
Java 的 I/O 主要分为两大类:`InputStream` 和 `OutputStream` 用于处理字节流,而 `Reader` 和 `Writer` 则用于处理字符流。 #### 二、Java I/O 示例代码详解 下面我们将对提供的代码片段进行逐段分析。 ##### ...
5. **装饰者模式的应用**:在Java I/O中,装饰者模式被广泛应用于构建复杂的流管道,如上文中提到的`BufferedReader`就是一个典型的例子,它装饰了一个`InputStreamReader`,后者又装饰了一个`InputStream`。...