Set,List 集合
Set不允许重复
文本文件
读文件
FileInputStream fis = new FileInputStream("a.txt");//读入文件
while(true)
{
int r = fis.read();//读入一个个字节数据,-1代表流结束
//读入的是ASCII码
if(r == -1) break;
System.println((char)r);
}
import java.io.*
public class
{
public ststic void main(string[] args)
{
FileReader fr = new FileReader(args[0]);
int c = 0;
while( (c = fr.read()) != -1)
{
System.out.print((char)c);//此处使用println()会读一个输出一个换行
}
fr.close();
}
}
相似的,有Reader,Writer类,区别是处理单位是字符
Class Reader有三个read()函数:读数据,读从某位置开始的数据,读从某位置开始的定长数据
文本文件常使用读一行
import java.io.*
public class
{
public ststic void main(string[] args)
{
FileReader fr = new FileReader("a.txt");
BufferedReader br = new BufferedReader(fr);
String s;
int c = 0;
while( (s = br.readline()) != -1)
{
System.out.println(s);//此处使用println()会读一个输出一个换行
}
fr.close();
}
}
注意:FileReader可以执行差,因为它使用默认编码
解决方法:用FileInputStream
FileInputStream fr = new FileInputStream("a.txt");
InputStreamReader isr = new InputStreamReader(fis,"GBK");
FileOutputStream fos = new FileOutputStream("a.txt");
OutputStreamWriter osw = new OutputStrreamWriter(fos,"GBK");
osw.write("中国梦");
osw.close();
PrintWriter类 大量重载print和println函数
配置文件
java.util.Properties
//配置文件
a.properties
server=www.baidu.com
port=80
//properties 全是键值对,键值都是字符串
//写入键值对
Properties p = new Properties();
p.setProperty("server","www.baidu.com");
p.setproperty("port","80");
p.store(new FileOutputStream("a.properties"),"");
//读出键值对
Properties r = new Properties();
p.load(new FileInputStream("a.properties"));
String server = p.getProperty("server");
int port = Integer.parseInt(p.getProperty("port"));
p.list(System.out);//在控制台输出
学生保存到文件
list<student> list = new ArrayList<student>();
void write(List<student> list)
{
FileOutputStream fos = new FileOutputStream("student.txt");
OutputStreamWriter osw = new OutputStreamWriter(fos,"GBK");
PrintWriter out = new PrintWriter(osw);
Itertor<Stident> it = list.inerator();
while(it.hasNext())
{
Stident s = it.next();
out.println(s.getId() + "," + s.getName() + "," + s.getSex);
}
}
异常处理
Throwable类
派生:Exception
RuntimeException
IOException
FileNotFoundException
......
Error:不处理,虚拟机宕机
和C++一样try catch中,先放具体的错误,再放抽象的错误
注意:在Java中,不可到达语句算作语法错误,如:while(false),return 0;retuen 1;
运行异常编译器不作处理,由代码引起