- 浏览: 263057 次
- 性别:
- 来自: 济南
文章分类
- 全部博客 (303)
- c (31)
- c++ (16)
- java (18)
- c# (1)
- python (3)
- java web (6)
- oracle (7)
- sqlserver (2)
- mysql (2)
- android (24)
- android系统 (15)
- android多媒体部分 (15)
- android游戏 (12)
- linux (26)
- javaScript (1)
- ajax (1)
- node JS (2)
- html (5)
- apache (3)
- jboss (1)
- weblogic (0)
- 通信协议 (10)
- 云计算 (1)
- 分布式 (5)
- ejb (1)
- webservice (5)
- 设计模式 (16)
- JNI (6)
- swing (13)
- 版本控制 (1)
- UML (1)
- xml (4)
- spring (5)
- hibernate (5)
- struts1 (3)
- struts2 (4)
- ibatis (0)
- tomcat (2)
- 心得体会 (1)
- css (1)
- 嵌入式 (41)
- arm体系结构 (10)
转换流
inputStreamReader 字节转字符
outputStreamWriter 字符转字节
应用场景
按指定编码转换
示例代码:
public void test() {
try {
// 方法一
FileReader fileReader = new FileReader("a.txt");
// 方法二
InputStreamReader isr = new InputStreamReader(new
FileInputStream("a.txt"));
// 方法三:指定编码形式
InputStreamReader isr1 = new InputStreamReader(new
FileInputStream("a.txt"), "utf-8");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
文件操作
/**
* 当前文件下列表
*/
public static void listFile(File dir, int level) {
System.out.println(getLevel(level) + dir.getName());
level++;
File[] files = dir.listFiles();
for (int i = 0; i < files.length; i++) {
if (files[i].isDirectory()) {// 如果是目录
listFile(files[i], level);
} else {
System.out.println(getLevel(level) + files
[i].getName());
}
}
}
/**
* get
*/
public static String getLevel(int level) {
StringBuilder sb = new StringBuilder();
sb.append("|--");
for (int i = 0; i < level; i++) {
sb.insert(0, "| ");
}
return sb.toString();
}
/**
* 删除一个目录
*/
public static void deleteDir(File dir) {
File[] files = dir.listFiles();
for (int i = 0; i < files.length; i++) {
if (files[i].isDirectory()) {
deleteDir(files[i]);
} else {
files[i].delete();
}
}
}
序列化
objectInputStream
objectOutPutStream
示例代码:
/**
* 实体类需实现序列化接口
* Serializable
* 深度拷贝
*
* @return
*/
public static Serializable deepCopy(Serializable serializable) {
try {
// 构建字节数组输出流
ByteArrayOutputStream baos = new
ByteArrayOutputStream();
// 对象输出流
ObjectOutputStream oos = new ObjectOutputStream
(baos);
// 把对象写入到输出流中
oos.writeObject(serializable);
oos.close();
baos.close();
// 得到对象字节数组
byte[] bs = baos.toByteArray();
// 将字节数组恢复成对象
ByteArrayInputStream bais = new
ByteArrayInputStream(bs);
ObjectInputStream ois = new ObjectInputStream
(bais);
Serializable copy = (Serializable) ois.readObject
();
ois.close();
bais.close();
return copy;
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return null;
}
发表评论
-
thread local 学习笔记
2012-11-08 15:45 624thread local(thread 的局部变量)解决多 ... -
mina 学习笔记一
2012-11-05 16:33 620mina下载路径 http://mina.apache.or ... -
多线程学习笔记一
2012-09-04 11:03 653/** * 子线程循环10次,主线程100次 如此 ... -
多线程学习笔记二
2012-09-04 11:05 628/** * 传统线程 * * @time 下午06:15 ... -
多线程学习笔记三
2012-09-04 11:06 615/** * 两个线程进行数据交换 * * @time 上 ... -
多线程学习笔记四
2012-09-04 11:08 659/** * 线程范围内的数据共享 * * 应用场景:减少 ... -
java swing 学习笔记一(画板Panel )
2012-09-04 11:18 1074/** * 画板 * * @time 3:38:10 P ... -
java swing学习笔记二(画布Canvas)
2012-09-04 11:19 3251/** * 画布 * @time 11:23:53 AM ... -
java IO流学习笔记一
2012-09-08 17:10 560IO 两大主流 16位和8位 16位对应writer和rea ... -
java 类装载器
2012-09-08 18:12 701public class ClassLoaderTest { ... -
并发库学习笔记一
2012-09-28 16:37 633新建线程并启动的几种 ... -
并发库学习笔记二
2012-09-28 16:38 455阻塞队列(生产者和消费者开发模式) 三种常用的阻塞队 Ar ... -
并发库学习笔记三
2012-09-28 16:40 591Synchronized是lock的一种简化实现,一个l ... -
并发库学习笔记四
2012-09-28 16:42 661ConcurrentHashMap并没有实现Lock-Free ... -
并发库学习笔记五
2012-09-28 16:43 727并发流程控制CountDown ... -
java IO流学习笔记二
2012-10-03 00:24 629/** * * * 目录分隔符用\\或/ * * @ ... -
jdk5.0的特性
2012-10-03 00:28 6391静态导入 导入指定类 ...
相关推荐
Java IO流是Java编程语言中处理输入输出操作的重要部分,尤其在数据传输、文件读写等方面发挥着核心作用。本文将深入探讨Java IO流的基本概念、类型以及它们在实际开发中的应用。 首先,理解IO流的基本概念至关重要...
### Java IO流学习笔记 #### 异常处理与IO流操作 在进行Java IO流的学习过程中,异常处理是非常重要的一个方面。本节将详细介绍如何在Java中处理异常,并结合具体的IO流操作进行说明。 #### 一、异常处理 在Java...
### Java IO流学习笔记 #### 一、IO流的四大抽象类 - **InputStream/OutputStream**:字节的输入输出流的抽象类。 - 数据单位:字节(8比特,范围0-255) - **Reader/Writer**:字符的输入输出流的抽象类。 - ...
java基础:IO流学习笔记
io流学习笔记,主要适合入门的人士学习及观看
Java IO是Java编程语言中用于输入/输出操作的重要部分,它提供了一系列的类和方法来处理数据的读写,文件的创建、删除以及流的管理等。以下是对标题和描述中涉及的知识点的详细说明: 1. **文件对象的生成**: 在...
java学习笔记1(java io/nio)设计模式
本学习笔记主要涵盖了Java的基础知识,包括面向对象、集合、IO流、多线程、反射与动态代理以及Java 8的新特性等方面,旨在帮助初学者或有经验的开发者巩固和提升Java编程技能。 1. 面向对象(OOP):Java的核心是...
java IO流学习笔记——(1) IO流总述 • 输入流:数据源到程序(InputStream、Reader读进来) • 输出流:程序到目的地(OutputStream、Writer写出去) 流分类 : • 节点流:可以直接从数据源或目的地读写数据 • 处理...
自己总结的java中IO流的笔记,绘制了详细的思维导图,每个思维导图中均有详细的博文解释,方便大家学习和理解,免费分享给大家。适合java的爱好者和学习者
Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现为Oracle公司的一部分)于1995年发布。...Java学习笔记涵盖了这些核心知识点,通过深入学习和实践,你可以逐步掌握Java编程,并应用于实际项目开发中。
本文档为本人学习 java IO流期间的学习总结笔记,希望对新学习的朋友有所帮助和参考价值。本人java 开发时间不是太长,可能存在不完善或不对之处,欢迎指正!
### Java学习笔记之IO流 #### 一、IO流概述 在Java中,IO流是用于处理输入输出操作的一种机制,主要包括输入流(Input Stream)和输出流(Output Stream)两大类。通过这些流,我们可以实现对文件的操作,如读取、写入...
提供的源码笔记可以帮助你看到这些概念在实际代码中的应用,通过对例题源码的阅读和调试,加深对Java IO流的理解。例如,你可能会看到如何使用FileInputStream和FileOutputStream读写文件,或者使用DataInputStream...
【Java学习笔记Markdown版】是针对Java初学者和进阶者的一份详尽教程,以Markdown格式编写,便于阅读和整理。Markdown是一种轻量级的标记语言,它允许用户使用易读易写的纯文本格式编写文档,然后转换成结构化的HTML...
"Java入门第二季学习笔记"可能深入到更复杂的主题,如异常处理、集合框架、IO流和线程。异常处理是Java中处理错误的重要机制,使得程序更加健壮。集合框架包括ArrayList、LinkedList、HashSet、HashMap等数据结构,...