1.输入和输出都可以是文件,网络,压缩或其他数据源。
java中用来处理输入输出的类都被放在java.io包中,其中,所有输入流泪都是抽象类InputStream(字节输入流)或抽象类(Reader)字符输入流的子类,而所有输出都是抽象类OutputStream(字节输出流)或抽象类Writer(字符输出流)的子类。
输入流:java的字符是Unicode编码,是双字节的,inputStream使用来处理字节的,而Reader使用来处理字符的
输出流也是同上。
2.File类:可以调用File类的方法,来实现创建,删除,重命名文件等操作,File类的对象主要用来获取文件本身的一些信息,如文件所在的目录,文件的长度,文件的读取权限。数据流可以将数据写到文件中。
1)文件的创建和删除:File file = new File("d:/1.txt");
例:File file = new File("word.txt"); --如果当前目录中不存在名称为word的文件,File类对象可通过调用createNewFile()方法创建一个名称为word.txt的文件
如果存在,则通过文件对象的delete()方法将其删除。如下:
import java.io.File;
public class FileTest {
public static void main(String[] args){
File file = new File("word.txt");
if(file.exists()){
file.delete();
System.out.println("文件已删除");
}else{
try{
file.createNewFile();
System.out.println("文件已创建");
}catch(Exception e){
e.printStackTrace();}
} } }
2.获取文件信息:String name=file.getName(); --获取文件名 long length=file.length(); --获取文件长度 Boolean hidden=file.isHidden(); --获取文件是否为隐藏文件
3)程序运行期间,大部分数据都在内存中进行操作,当程序结束或者关闭时,这些数据将消失,如果想保留,就要与文件挂钩
文件的输入/输出流:FileInputStream与FileOutputStream (字节)
FileReader与FileWriter类(字符)具体见书p272
4)带缓存的输入/输出流:具体见书p276:BufferedInputStream BufferedOutputStream
5)数据输入/输出流:见书p278