javaIO-学习笔记
package IOTest; import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInput;
import java.io.ObjectInputStream;
import java.io.ObjectOutput;
import java.io.RandomAccessFile; public class IOMain { public static void main(String[] args) throws IOException { /*
* 1
*/
// try (FileReader fr = new FileReader("E:/Workspase/MyEclipse 2015 CI/Shulie/src/A2.java")) {
// char[] cbuf = new char[32];
// int hasRead = 0;
// while((hasRead = fr.read(cbuf))>0){
// System.out.println(new String(cbuf, 0, hasRead));
// }
//
// } catch (FileNotFoundException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// } /*
* 2 节点流
*/
// File f = new File("newfile.txt");
//
// try(
// FileInputStream fis = new FileInputStream("E:/Workspase/MyEclipse 2015 CI/Shulie/src/A2.java");
// FileOutputStream fos = new FileOutputStream(f))
// {
// byte[] buf = new byte[1024];
// int hasRead = 0;
// while((hasRead = fis.read(buf))>0){
// fos.write(buf, 0, hasRead);
// }
//
// }catch(Exception e){
// e.printStackTrace();
// } /*
* 3 转换流
*/
// try (InputStreamReader reader = new InputStreamReader(System.in);
// BufferedReader bf = new BufferedReader(reader) ){
// String line = null;
// while((line = bf.readLine()) !=null){
// if("exit".equals(line)){
// System.exit(1);
// }
// System.out.println(line);
// }
// } catch (Exception e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// } /*
* 4 重定向输出
*/
// try (PrintStream ps = new PrintStream(new FileOutputStream("out.txt"))) {
//
// System.setOut(ps);
// System.out.println(new Scanner(System.in).next());
// System.out.print(new IOMain());
// } catch (Exception e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
//
// /*
* 5 RandomAccessFile
*/
//
// try (RandomAccessFile raf = new RandomAccessFile("newfile.txt", "rw");) {
// System.out.println("指针初始位置:"+raf.getFilePointer());
// raf.seek(300);
// byte[] bbuff = new byte[1024];
// int hasRead = 0;
// while((hasRead = raf.read(bbuff)) > 0){
// System.out.println(new String(bbuff, 0, hasRead));
// }
// raf.seek(raf.length());
// raf.write("\r\n追加的内容!\r\n".getBytes());
// } catch (Exception e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
//
//
// insert("out.txt", 3, "\r\n插入的内容\r\n");
// FileInputStream fis = new FileInputStream(new File("out.txt"));
// byte[] bbuff = new byte[1024];
// int hasRead = 0;
// while((hasRead = fis.read(bbuff)) > 0){
// System.out.println(new String(bbuff, 0, hasRead));
// }
//
//
/*
* 6 序列化
*/ // try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("object.txt"));) {
// Person p1 = new Person("Jeff", 23);
// oos.writeObject(p1);
// } catch (Exception e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// } try (ObjectInputStream oip = new ObjectInputStream(new FileInputStream("object.txt"));) {
Person p2 = (Person) oip.readObject();
System.out.println("name:"+p2.getName()+"\n"+"age:"+p2.getAge());
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }
public static void insert(String fileName, long pos, String insertContent) throws IOException{
File temp = File.createTempFile("temp", null);
temp.deleteOnExit();
try (
RandomAccessFile raf = new RandomAccessFile(fileName, "rw");
FileOutputStream fos = new FileOutputStream(temp);
FileInputStream fis = new FileInputStream(temp);) {
raf.seek(pos);
byte[] buff = new byte[64];
int hasRead = 0;
while((hasRead = raf.read(buff))>0){
fos.write(buff, 0, hasRead);
}
raf.seek(pos);
raf.write(insertContent.getBytes());
while((hasRead = fis.read(buff))>0){
raf.write(buff, 0, hasRead);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} }
class Person implements java.io.Serializable{
private String name;
private int age;
public Person(String name, int age){
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
} }
class PersonNew implements java.io.Externalizable{
private String name;
private int age;
public PersonNew(String name, int age){
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public void writeExternal(ObjectOutput out) throws IOException {
out.writeObject(new StringBuffer(name).reverse());
out.writeInt(age); }
@Override
public void readExternal(ObjectInput in) throws IOException,
ClassNotFoundException {
this.name = ((StringBuffer)in.readObject()).reverse().toString();
this.age = in.readInt();
} }
javaIO-学习笔记的更多相关文章
- JavaIO学习笔记(五)
JavaIO前期准备 什么是同步 指的是用户进程触发IO操作并等待或者轮询的去查看IO操作是否就绪 什么是异步 异步是指用户进程触发IO操作以后便开始做自己的事情,而当IO操作已经完成的时候会得到IO ...
- javaio学习笔记-字符流类(1)
1.java.io包中的字符流类-BufferedReader和BufferedWriter: BufferedReader:缓存的输入字符流; BufferedWriter:缓存的输出字符流; In ...
- javaio学习笔记-字符流类(2)
1.java.io包中的字符流类-FileReader和FileWriter: BufferedReader:缓存的输入字符流; BufferedWriter:缓存的输出字符流; FileReader ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- PHP-会员登录与注册例子解析-学习笔记
1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...
- 2014年暑假c#学习笔记目录
2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...
- JAVA GUI编程学习笔记目录
2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...
- seaJs学习笔记2 – seaJs组建库的使用
原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...
- CSS学习笔记
CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...
随机推荐
- 浅谈c语言的指针
对于非计算机专业的同学,c语言的指针往往就是老师的一句“指针不考“就带过了.c语言的指针号称是c语言的灵魂,是c语言中最精妙的部分. 指针本质上也是变量,也就是一段内存,只是他的特殊之处是他存储的数据 ...
- It will affect staff as well.
Premier Foods has reduced its number of suppliers dramatically in the last 12 months. In 2013 it mad ...
- .Net生成HTML的三种方法
一.在服务器上指定aspx网页,生成html静态页 public partial class Default2 : System.Web.UI.Page { protected void Page_L ...
- EasyUI加载树控件自动展开所有目录
在这里如何加载树控件就不在熬述,在加载树控件后,树的节点全部展开,要在OnLoadSuccess事件中写代码:
- Enterprise Architect 学习 之 用例图
用例模型 用例模型用来记录系统的需求,它提供系统与用户及其他参与者的一种通信手段. 执行者 用例图显示了系统和系统外实体之间的交互.这些实体被引用为执行者.执行者代表角色,可以包括:用户,外部硬件和其 ...
- 曲线参数化的Javascript实现(理论篇)
在关键帧动画的制作过程中,动画师在k物体运动的过程中,一般要确定2个参数: 1)运动轨迹(表示物体运动的路径): 2)速度曲线(表示物体随时间的速度变化). 对于运动轨迹通常选用一定的样条曲线,通过动 ...
- Extjs,Git,插件....学习网址
详细的extjs讲解http://wenku.baidu.com/view/e98a781352d380eb62946de4.html 博客 http://www.cnblogs.com/iamlil ...
- AXUre
[ Javascript ] 一.javascript能用来干什么? 1.数据的验证. 2.对动态这本写到网页当中. 3.可以对事件做出响应. 4.可以读写html 中的内室. 5.可以检测浏览器 6 ...
- LingQ 的Distinct使用方法
需要将对象继承 IEqualityComparer<对象类名> 接口 然后实现下面两个方法 public bool Equals(对象 x, 对象y) { return x.ID == y ...
- 盲注----基于布尔的SQL盲注
构造逻辑判断常用字符串截取函数http://www.cnblogs.com/yyccww/p/6054569.html常用函数left(a,b) 从左侧截取a的前b位right(a,b) 从右侧截 ...