Java IO流

Java IO流

广州疯狂软件学院拥有三大课程体系包括:java课程,android课程,ios课程,本月基础强化营(可先就业后付款)火热报名中,欢迎有志之士电话020-28309358或者QQ544627560咨询。

private static void read() throws FileNotFoundException, IOException { File file = new File("E:\\a.txt");// 指定要读取的文件

// 获得该文件的缓冲输入流

BufferedReader bufferedReader = new BufferedReader(new FileReader(file)); String line = "";// 用来保存每次读取一行的内容

while ((line = bufferedReader.readLine()) != null) {

System.out.println(line);

}

bufferedReader.close();// 关闭输入流

}

private static void write() throws IOException {

File file = new File("E:\\a.txt");// 指定要写入的文件

if (!file.exists()) {// 如果文件不存在则创建

file.createNewFile();

}

// 获取该文件的缓冲输出流

BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(file)); // 写入信息

bufferedWriter.write("你好世界");

bufferedWriter.newLine();// 表示换行

bufferedWriter.write("hello world");

bufferedWriter.flush();// 清空缓冲区

bufferedWriter.close();// 关闭输出流

}

// 指定要读取文件的缓冲输入字节流

BufferedInputStream in = new BufferedInputStream(new FileInputStream("F:\\test.jpg"));

File file = new File("E:\\test.jpg");

if (file != null) {

file.createNewFile();

}

// 指定要写入文件的缓冲输出字节流

BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(file));

byte[] bb = new byte[1024];// 用来存储每次读取到的字节数组

int n;// 每次读取到的字节数组的长度

while ((n = in.read(bb)) != -1) {

out.write(bb, 0, n);// 写入到输出流

}

out.close();// 关闭流

in.close();

疯狂Java培训专注软件开发培训,提升学员就业能力,重点提升实践动手能力。疯狂软件开设了java课程,ios课程,android课程,为你提供一个学习java技能的好机会,疯狂软件特大优惠活动,加疯狂软件微信号(疯狂软件),抢优惠,优惠100元+赠送iOS教材一本 详情请看疯狂java培训官网。IT从业着仍是社会所需要的高端人才,广州疯狂软件之力于培养企业所需要的中高端IT人才,让你成为备受企业青睐的人才。

疯狂Java培训专注软件开发培训,提升学员就业能力,重点提升实践动手能力。技术知识沉淀深厚的老师,让你感受Java的魅力,激发你对于编程的热爱,让你在半年的时间内掌握8-10万的代码量,掌握Java核心技术,成为真正的技术高手;通过大量全真企业项目疯狂训练,迅速积累项目经验。让你成为技能型的现代化高端人才,迅速获得高薪就业!时间不等人,赶紧联系我们吧!疯狂java培训中心地址:广州天河区车陂沣宏大厦3楼。

 

第二篇:(三)Javascript经验总结面向对象:对象(Object)

javascript中的对象创建声明:

var obj = {}; 或者 var obj = new Object();

为对象加入属性,方法:

//=====第一种写法====================================

obj.name = '小明'; //为对象加属性

obj.updateName = function(name){ //为对象定义updateName方法 this.name = name;

}

alert(obj.name);

obj.updateName("小强"); //调用updateName修改obj对象的name属性值

alert(obj['name']);

第一次显示结果为:小明

第二次显示结果为:小强

//=====第二种写法====================================

obj['name'] = '张三'; //为对象加属性

obj['updateName'] = function(name){ //为对象定义updateName方法 obj['name'] =name;

};

alert(obj.name);

obj.updateName('李四'); //调用updateName修改obj对象的name属性值

alert(obj['name']);

第一次显示结果为:张三

第二次显示结果为:李四

//=====第三种写法====================================

var obj = {

name: '王五', //为对象加属性

updateName: function(name){ //为对象定义updateName方法 this.name = name;

}

};

alert(obj .name);

obj.updateName("赵六"); //调用updateName修改obj对象的name属性值

alert(obj .name);

第一次显示结果为:王五

第二次显示结果为:赵六

//=====分析=====================================

第一种写法是最普通的对象写法,因为javascript是动态语言,与Java和.Net不同,

在程序运行并创建对象后,还可以对该对象的内部结构进行修改, 比如添加属性和方法(java和.net中的反射机制做不到这点)。

(a): var obj = {} || new Object();

(b):obj.name = "张三";

(c):obj.updateName = function(name){ this.name = name};

当程序执行(a) 后,便创建了一个空对象(不包含任何方法和属性)obj, 当程序执行(b) 后,改变了obj的内部结构,加了一个属性name,

当程序执行(c) 后,改变了obj的内部结构,加了一个方法updateName , 而这都是在运行的时候完成的动作

第二种写法像数组,但绝不是数组,区分是不是数组可以如此判断: if(typeof(obj.length) == "undefined") {

alert(“obj不是数组,数组都有length属性!”);

}else{

alert("obj是数组!");

}

第二种写法更像一种数据结构:map ,如:obj[key] = value;

key是字符串,value可以是任何类型,变量,对象,函数等。

可以通过这种方式遍历对象内部结构:

for(var key in obj)

{

alert(key);

var value = obj[key];

alert(value);

}

通过alert可以显示出你所定义的内容。

第三种写法一看就是map的内部结构了,一个对象,内部完全用key : value键值对方式表示

JSON对象也是这种结构,只要对map或者JSON对象有所熟悉的就很容易理解了。

相关推荐