Java学习第18天:其他类和IO流的初步接触
2014-02-16 11:00
260 查看
-------
android培训、java培训、期待与您交流! ----------
until18
IO流和其它对象
1、其它对象-System
2、其它对象-Runtime
3、其它对象-Date
4、其它对象-Calendar
5、其它对象-Math-Random
6、IO流概念
7、IO流-FileWriter
8、IO异常处理方式
9、IO文件的续写
10、文本文件读取方式
11、文本文件读取方式练习
12、考本文本文件
其它对象-System
System:类中方法和属性都是静态的!
out方法:标准输出
in方法:标准输入
获取系统信息:getProperties()
设置系统信息:setProperties()
Properties是HashMap子类,故可以用map方法去除集合元素!
该集合存储的都是字符串,没有泛型限定
是可以跨平台的方法!
import java.util.*;
public class Demo_1 {
public static void main(String[] args) {
// Properties
Properties prop = System.getProperties();
for(Object obj : prop.keySet())
{
System.out.println(obj+"=="+prop.get(obj));
}
//获取指定信息
String value = System.getProperty("java.runtime.name");
System.out.println(value);
}
}
其它对象-Runtime
Runtime对象:
该类并没有提供构造函数也不可以new对象!那么该类中的方法都是静态的。发现该类还有还有非静态的方法!说明获取该类对象有方法(该类提供的!返回值是本类类型!)
-------单列设计模式!
该方法是:static Runtime getRuntime();
public class Demo2 {
public static void main(String[] args)throws Exception {
Runtime r = Runtime.getRuntime();
Process p = r.exec("E:\\Program Files\\Tencent\\QQ\\QQProtect\\Bin\\QQProtect.exe");
//exec返回的类型是Process
Thread.sleep(5000);
p.destroy();// 杀掉子进程。
}
}
其它对象-Date
GMT:格林威治
UT:科学计算
不过该方法已经过时了!参看DATEFORMAT(日期格式化)
yyyy-MM-dd
其它对象-Calendar
import java.util.Calendar;
public class Demo4 {
public static void main(String[] args) {
Calendar cd = Calendar.getInstance();
//System.out.println(cd);
cd.set(2013,2,1);
cd.add(Calendar.DAY_OF_MONTH,-1);
String[] moons = {"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"};
String[] days = {"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
int mn = cd.get(Calendar.MONTH);
int day = cd.get(Calendar.DAY_OF_WEEK);
System.out.println(cd.get(Calendar.YEAR)+"年");
System.out.println(moons[mn]);
System.out.println(cd.get(Calendar.DAY_OF_MONTH));
}
}
其它对象-Math-Random
import java.util.Random;
public class Demo5 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//ceil返回大于指定数据的最小整数
double b1 = Math.ceil(1.45);
System.out.println(b1);
//floor返回小于指定数据的最大整数
double b2 = Math.ceil(1.99);
System.out.println(b2);
//round四舍五入!
//pow(2,3)===2的三次方!也就是8
Random r = new Random();
for(int x = 0;x<10;x++)
{
//double d = (int)(Math.random()*10+1);
int d = r.nextInt(100);
System.out.println(d);
}
}
}
IO流概念
用于处理设备之间的数据传输!
java对数据的操作是通过流的方式进行的!
数据:有字节流和字符流(字符流融合了编码表)
流:输入流和输出流!流对象在IO包当中
常用的基础流有:
字节抽象类:InputStream OutputStream
|--FileInputStream
字符抽象类:Reader Writer
|--FileReader
IO流-FileWriter
注意:创建FileWrite对象的时候,该对象在被new关键的时候要明确被操作的文件!该文件会被创建,如果存在的话就会被覆盖!
flush()是把流中的数据读入文件中
close()是关闭流!并且数据读入
IO异常处理方式
import java.io.*;
public class Demo6 {
public static void main(String[] args) {
FileWriter fw = null;
try {
fw = new FileWriter("demo.txt");
fw.write("好晚咯!加油");
fw.flush();
}
catch (IOException e) {
System.out.println(e.toString());
}
finally
{
try {
if(fw!=null)
fw.close();
} catch (IOException e2) {
System.out.println(e2.toString());
}
}
}
}
IO文件的续写
创建流时,传递一个true参数,代表不覆盖已有的文件。并在已有文件的末尾处进行数据续写。如果文件不存在,
则创建一个文件。
如:FileWriter fw = new FileWriter("Demo.txt",true);
文本文件读取方式
public class Demo7 {
public static void main(String[] args) throws IOException {
// 文件的读取
FileReader fr = new FileReader("Demo.txt");
int ch = 0;
/*读取方式一
while((ch=fr.read())!=-1)
{
System.out.println((char)ch);
}
*/
//读取方式二
char[] chs = new char[2];
while((ch=fr.read(chs))!=-1)
{
System.out.println(new String(chs,0,ch));
}
}
}
文本文件读取方式练习
public class Demo8 {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
FileReader fr = new FileReader("demo.java");
int num = 0;
char[] ch = new char[1024];
while((num=fr.read(ch))!=-1)
{
System.out.println(new String(ch,0,num));
}
}
}
考本文本文件
package until_18;
import java.io.*;
public class Demo9 {
public static void main(String[] args) {
// TODO Auto-generated method stub
copy2();
}
public static void copy1()
{
FileWriter fw = null;
FileReader fr = null;
try {
fw = new FileWriter("demo1.txt",true);
fr = new FileReader("demo.txt");
int len = 0;
while((len=fr.read())!=-1)
{
fw.write(len);
}
}
catch (IOException e) {
System.out.println(e.toString());
}
finally
{
try {
if(fw!=null)
fw.close();
} catch (Exception e2) {
System.out.println(e2.toString());
}
try {
if(fr!=null)
fr.close();
} catch (Exception e2) {
System.out.println(e2.toString());
}
}
}
public static void copy2()
{
FileWriter fw = null;
FileReader fr = null;
try {
fw = new FileWriter("demo2.txt",true);
fr = new FileReader("demo.txt");
int len = 0;
char[] ch = new char[1024];
while((len=fr.read(ch))!=-1)
{
fw.write(ch,0,len);
}
}
catch (IOException e) {
System.out.println(e.toString());
}
finally
{
try {
if(fw!=null)
fw.close();
} catch (Exception e2) {
System.out.println(e2.toString());
}
try {
if(fr!=null)
fr.close();
} catch (Exception e2) {
System.out.println(e2.toString());
}
}
}
}
-------
android培训、java培训、期待与您交流! ----------
android培训、java培训、期待与您交流! ----------
until18
IO流和其它对象
1、其它对象-System
2、其它对象-Runtime
3、其它对象-Date
4、其它对象-Calendar
5、其它对象-Math-Random
6、IO流概念
7、IO流-FileWriter
8、IO异常处理方式
9、IO文件的续写
10、文本文件读取方式
11、文本文件读取方式练习
12、考本文本文件
其它对象-System
System:类中方法和属性都是静态的!
out方法:标准输出
in方法:标准输入
获取系统信息:getProperties()
设置系统信息:setProperties()
Properties是HashMap子类,故可以用map方法去除集合元素!
该集合存储的都是字符串,没有泛型限定
是可以跨平台的方法!
import java.util.*;
public class Demo_1 {
public static void main(String[] args) {
// Properties
Properties prop = System.getProperties();
for(Object obj : prop.keySet())
{
System.out.println(obj+"=="+prop.get(obj));
}
//获取指定信息
String value = System.getProperty("java.runtime.name");
System.out.println(value);
}
}
其它对象-Runtime
Runtime对象:
该类并没有提供构造函数也不可以new对象!那么该类中的方法都是静态的。发现该类还有还有非静态的方法!说明获取该类对象有方法(该类提供的!返回值是本类类型!)
-------单列设计模式!
该方法是:static Runtime getRuntime();
public class Demo2 {
public static void main(String[] args)throws Exception {
Runtime r = Runtime.getRuntime();
Process p = r.exec("E:\\Program Files\\Tencent\\QQ\\QQProtect\\Bin\\QQProtect.exe");
//exec返回的类型是Process
Thread.sleep(5000);
p.destroy();// 杀掉子进程。
}
}
其它对象-Date
GMT:格林威治
UT:科学计算
不过该方法已经过时了!参看DATEFORMAT(日期格式化)
yyyy-MM-dd
其它对象-Calendar
import java.util.Calendar;
public class Demo4 {
public static void main(String[] args) {
Calendar cd = Calendar.getInstance();
//System.out.println(cd);
cd.set(2013,2,1);
cd.add(Calendar.DAY_OF_MONTH,-1);
String[] moons = {"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"};
String[] days = {"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
int mn = cd.get(Calendar.MONTH);
int day = cd.get(Calendar.DAY_OF_WEEK);
System.out.println(cd.get(Calendar.YEAR)+"年");
System.out.println(moons[mn]);
System.out.println(cd.get(Calendar.DAY_OF_MONTH));
}
}
其它对象-Math-Random
import java.util.Random;
public class Demo5 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//ceil返回大于指定数据的最小整数
double b1 = Math.ceil(1.45);
System.out.println(b1);
//floor返回小于指定数据的最大整数
double b2 = Math.ceil(1.99);
System.out.println(b2);
//round四舍五入!
//pow(2,3)===2的三次方!也就是8
Random r = new Random();
for(int x = 0;x<10;x++)
{
//double d = (int)(Math.random()*10+1);
int d = r.nextInt(100);
System.out.println(d);
}
}
}
IO流概念
用于处理设备之间的数据传输!
java对数据的操作是通过流的方式进行的!
数据:有字节流和字符流(字符流融合了编码表)
流:输入流和输出流!流对象在IO包当中
常用的基础流有:
字节抽象类:InputStream OutputStream
|--FileInputStream
字符抽象类:Reader Writer
|--FileReader
IO流-FileWriter
注意:创建FileWrite对象的时候,该对象在被new关键的时候要明确被操作的文件!该文件会被创建,如果存在的话就会被覆盖!
flush()是把流中的数据读入文件中
close()是关闭流!并且数据读入
IO异常处理方式
import java.io.*;
public class Demo6 {
public static void main(String[] args) {
FileWriter fw = null;
try {
fw = new FileWriter("demo.txt");
fw.write("好晚咯!加油");
fw.flush();
}
catch (IOException e) {
System.out.println(e.toString());
}
finally
{
try {
if(fw!=null)
fw.close();
} catch (IOException e2) {
System.out.println(e2.toString());
}
}
}
}
IO文件的续写
创建流时,传递一个true参数,代表不覆盖已有的文件。并在已有文件的末尾处进行数据续写。如果文件不存在,
则创建一个文件。
如:FileWriter fw = new FileWriter("Demo.txt",true);
文本文件读取方式
public class Demo7 {
public static void main(String[] args) throws IOException {
// 文件的读取
FileReader fr = new FileReader("Demo.txt");
int ch = 0;
/*读取方式一
while((ch=fr.read())!=-1)
{
System.out.println((char)ch);
}
*/
//读取方式二
char[] chs = new char[2];
while((ch=fr.read(chs))!=-1)
{
System.out.println(new String(chs,0,ch));
}
}
}
文本文件读取方式练习
public class Demo8 {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
FileReader fr = new FileReader("demo.java");
int num = 0;
char[] ch = new char[1024];
while((num=fr.read(ch))!=-1)
{
System.out.println(new String(ch,0,num));
}
}
}
考本文本文件
package until_18;
import java.io.*;
public class Demo9 {
public static void main(String[] args) {
// TODO Auto-generated method stub
copy2();
}
public static void copy1()
{
FileWriter fw = null;
FileReader fr = null;
try {
fw = new FileWriter("demo1.txt",true);
fr = new FileReader("demo.txt");
int len = 0;
while((len=fr.read())!=-1)
{
fw.write(len);
}
}
catch (IOException e) {
System.out.println(e.toString());
}
finally
{
try {
if(fw!=null)
fw.close();
} catch (Exception e2) {
System.out.println(e2.toString());
}
try {
if(fr!=null)
fr.close();
} catch (Exception e2) {
System.out.println(e2.toString());
}
}
}
public static void copy2()
{
FileWriter fw = null;
FileReader fr = null;
try {
fw = new FileWriter("demo2.txt",true);
fr = new FileReader("demo.txt");
int len = 0;
char[] ch = new char[1024];
while((len=fr.read(ch))!=-1)
{
fw.write(ch,0,len);
}
}
catch (IOException e) {
System.out.println(e.toString());
}
finally
{
try {
if(fw!=null)
fw.close();
} catch (Exception e2) {
System.out.println(e2.toString());
}
try {
if(fr!=null)
fr.close();
} catch (Exception e2) {
System.out.println(e2.toString());
}
}
}
}
-------
android培训、java培训、期待与您交流! ----------
相关文章推荐
- 黑马学习日记(一)java常用的其他类和IO流相关
- Java基础视频教程第18天_其他常用对象、IO流一
- Java学习之提高!初步接触eclipse和知识复苏(因为有不少是前面提到的)
- 黑马程序员--Java基础学习(其他对象和IO流)第十八天
- 黑马程序员--Java学习日记之IO流(其他流&异常处理)
- 黑马程序员——学习日记16 java IO流 (中)
- Java IO流学习总结七:Commons IO 2.5-FileUtils
- java 利用POI 导入导出初步学习
- java IO流学习笔记三
- Java IO流学习总结
- java IO流学习总结
- (3)java学习初步
- JavaWeb前端之AJAX的初步学习
- JAVA-IO流学习笔记(基础)
- Java学习日志(19-4-IO流-流输入与输出)
- 10-java学习笔记-IO流2 File类
- Java IO流学习总结四:缓冲流-BufferedReader、BufferedWriter
- java反射初步学习(一)
- spring mvc 初步接触学习笔记
- 黑马程序员__关于学习Java中IO流的FileWriter的总结