java基础

IO流

文件操作:

使用java.io.File类来创建一个文件对象

File file = new File(文件绝对路径);

File对象的常用方法:

exists(): 判断文件是否存在,返回boolean类型

isFile(): 判断是否为文件,返回boolean类型

isDirectory(): 判断是否为文件夹,返回boolean类型

getPath(): 得到文件的相对路径,返回String类型

getAbsolutePath():得到文件的绝对路径,返回String类型

getName(): 获得文件的文件名,返回String类型

length(): 获得文件的字节大小,返回long类型

delete(): 删除文件或文件夹,返回boolean类型

createNewFile():创建一个文件

mkdir(): 创建一个文件夹

listFiles(): 获取文件夹中的所有文件【包含子文件夹】

流:流是指一连串流动的字符,是以先进先出方式发送信息的通道,所有的流都是java.io包下面的

流是用来传输数据的,文件读取也是传输数据的一种方式。

流的分类:

按流向划分:输入流/输出流(这里的输入流与输出流是相对于内存而言)

按内容划分:字符流/字节流(字节流是1个字节8位,字符流是2个字节16位)

按形式划分:实体流/装饰流(实体流可以直接处理数据源,装饰流必须要与其他实体流结合起来才能使用)

字符流:

通常都是继承自Reader类和Writer类,一个是读,一个是写,常用的子类是FileReader和FileWriter

字节流:

	通常是继承InputStream类与OutputStream类,一个是输入流,一个是输出流,常用的子类有FileInputStream、FileOutputStream


这里大家需要死记住一个点:
	流是成对出现的,它们的子类也是成对的,很少会出现单个,比如:
	InputStream		OutputStream
	Reader			Writer
	FileReader		FileWriter
	BufferedReader		BufferedWriter
	DataInputStream		DataOutputStream

使用流读文件:

        //第一步:创建输入流
	InputStream input = new FileInputStream(文件对象或文件路径字符串);
	

//第二步:读文件

byte[] bytes = new byte[1024]; //每次读取1KB,大小可以自己设

StringBuffer s = new StringBuffer(""); //用来存储读取出来的数据

int len = input.read(bytes); //读文件,返回读到的长度

while(len >= 0){ //循环,如果长度>=0,说明读到了内容

//将读到的内容放到事先准备的字符串里

s.append(new String(bytes,0,len));

len = input.read(bytes); //继续读

}

//第三步:关闭流

input.close();

System.out.println(s.toString());

使用流写文件:
	//第一步:创建输出流
	OutputStream output = new FileOutputStream(文件对象或是文件路径字符串);

//第二步:写文件

String content = "内容...";

output.write(content.getBytes());

//第三步:清空缓存并关闭流

output.flush();

output.close();

使用字节流读写文件与上类似,如果是读,则先创建Reader对象,如果是写则先创建Writer对象,然后分别调用read()方法或是write()方法即可。

String类的用法

扩展:

一.equals和==区别

1.equals比较的是内容是否相等
  2.==比较的是地址是否相等
  3.注意:如果字符串是常量则在常量池中保存,再创建一个常量,先去常量池找,如果存在则直接指向,所以地址相同

二.字符串的常用方法

  1.length():获取长度
  2.equals():比较两字符串是否相等
  3.equalsIgnoreCase():忽略大小写比较是否相等
  4.toUpperCase():转大写
  5.toLowerCase():转小写
  6.trim():去字符串左右两边的空格
  7.indexOf():获取第一次出现的位置,从0数
  8.lastIndexof():获取最后一次出现的位置
  9.indexOf(参数1,参数2):参数1:要查找的对象
			  参数2(int类型):从哪里开始找

  9.substring(int a,int b):截取字符串
		a:从什么位置开始截取(从0数)
		b:到什么位置结束(从1数)

  10.trim():去字符串左右两边的空格
  11.split(String a):拆分
		a:通过a字符来拆分,拆完后返回String[]类型

三.StringBuffer:是String的增强版

  a.创建:StringBuffer 变量名=new StringBuffer(值);
  b.append():连接,追加(直接在原件上追加)
	String的concat():在副本上追加,原件不发生变化

例:String str="aa";

str.concat("bb");

输出str的结果:aa

  c.StringBuffer和String互相转换
     将String转StringBuffer
	StringBuffer sb =new StringBuffer("值");
     将StringBuffer转String
	String ss=sb.toString();

  d.insert(int index,object obj):在指定的index位置插入字符;(第一个参数,指定的位置,第二个参数插入的字符)

变量和数据类型

基本数据类型:int short long float double char boolean byte

引用数据类型:String 数组 类

带参数的方法

一、参数

	1.参数列表(形参)前面需要加数据类型
	public void addName(String name,String name1,...){....}
	2.调用的时候是传递实参,实参列表无需加数据类型
	stu.addName("TKK","",....);
	3.实参列表和形参列表的数量要一致
	4.实参列表和形参列表数据类型要一一对应
	5.实参列表和形参列表的顺序要保持一致

二、包

	1.作用:a.管理文件
		b.解决文件的命名冲突,同一个项目中两个相同的文件可以存在不同的包中
		c.保护包中的文件(要使用不同包中的文件,必须
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值