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++ 基础一
// my first program in C++ #include <iostream.h> using namespace std; int main() { cout <&l ...
- 数据结构-图-Java实现:有向图 图存储(邻接矩阵),最小生成树,广度深度遍历,图的连通性,最短路径1
import java.util.ArrayList; import java.util.List; // 模块E public class AdjMatrixGraph<E> { pro ...
- cookie怎么用
cookie是什么? cookie是浏览器提供的一种机制,它将document 对象的cookie属性提供给JavaScript.可以由JavaScript对其进行控制,而并不是JavaScript本 ...
- WIN7-64位安装PLSQL-Developer步骤
可参与网址http://tech.ddvip.com/2012-07/1343104017178927.html 以下操作是从网上搜索在64位WIN7测试通过,64位无法使用PL/SQL Develo ...
- WebView---Android与js交互实例
Android 中可以通过webview来实现和js的交互,在程序中调用js代码,只需要将webview控件的支持js的属性设置为true 原文地址:http://blog.csdn.net/it10 ...
- 小型资源管理器,IO操作,读取和写入文件和目录的常用操作
解决方案: 小总结: 用IO流,的file,DirectoryInfo的方法绑定Treeview控件上和删除,读取, 可以熟练掌握一下IO流 主页面: private void Form1_Load( ...
- 在linux使用make编译ArduPilot for Pixhawk/PX4 ArduPilot 编译环境搭建
Building ArduPilot for Pixhawk/PX4 on Linux with Make 使用Make编译 ArduPilot for Pixhawk 2, Pixhawk and ...
- PKU1004
求平均数,就是要注意浮点数精度保持,由于浮点数在计算机内部的表示不同,会导致精度不好,这里由于输入的限制,计算的时候采用了整数,防止精度丢失 // 1004.cpp : 定义控制台应用程序的入口点. ...
- UE4 Plugins插件分享:
嘿,基佬你掉的插件! https://github.com/EverNewJoy/VictoryPlugin VictoryBPLibrary ---- 由活跃于 UE4 社区的某基佬 Rama 实现 ...
- java异步式Socket响应数据获取方案
项目中存在 云中央控制器需要使用多个Socket连接多个云终端控制器的需求. 由于终端数量大,就对整个中央控制器提出了并发的要求,然而获取Socket响应的过程是一个持续阻塞的过程,存在性能风险.而常 ...