public void createFile() throws IOException{
File file=new File("c:/myFileTest/test1.doc");
FileOutputStream fos=new FileOutputStream(file);//构建FileOutputStream对象,文件不存在会自动新建
OutputStreamWriter osWriter=new OutputStreamWriter(fos, "utf-8");
//构建OutputStreamWriter对象,参数可以指定编码,默认为操作系统默认编码,windows上是gbk
osWriter.append("这个是中文输入啦啦");
//写入到缓冲区
osWriter.append("
");
//换行
osWriter.append("this is English input");
//刷新缓存冲,写入到文件,如果下面已经没有写入的内容了,直接close也会写入
osWriter.close();
//关闭写入流,同时会把缓冲区内容写入文件,所以上面的注释掉
fos.close();
//关闭输出流,释放系统资源
}
public void readFile() throws IOException{
File file=new File("c:/myFileTest/test1.doc");
FileInputStream fis=new FileInputStream(file);//创建FileInputStream对象
InputStreamReader isReader=new InputStreamReader(fis,"utf-8");
//创建InputStreamReader对象,编码与写入相同
StringBuffer sb=new StringBuffer();
while(isReader.ready()){
sb.append((char)isReader.read());
// 转成char加到StringBuffer对象中
}
System.out.println(sb.toString());
isReader.close();
// 关闭读取流
fis.close();
// 关闭输入流,释放系统资源
}
/**
* inputStream和outputStream的用法
* 该方法不好用,因为会出现乱码
*/
public void InputStreamAndOutputStream() throws IOException{
//创建文件流
byte bwrite[]={11,43,23,57};
OutputStream os=new FileOutputStream("c:/myFileTest/testa.txt");
for(byte a:bwrite){
os.write(a);
}
os.close();
//读取文件流
InputStream is=new FileInputStream("c:/myFileTest/testa.txt");
int size=is.available();
for(int i=0;i<size;i++){
System.out.println((char)is.read());
}
is.close();
}
/**
* 创建文件夹
*/
public void createDir(){
String dirName="c:/yin/yan/ling";
File f=new File(dirName);
f.mkdirs();//mkdirs()方法创建一个文件夹和它的所有父文件夹。
/*File类中有两个方法可以用来创建文件夹:
mkdir( )方法创建一个文件夹,成功则返回true,失败则返回false。失败表明File对象指定的路径已经存在,或者由于整个路径还不存在,该文件夹不能被创建。
mkdirs()方法创建一个文件夹和它的所有父文件夹。*/
}
/**
* 读取目录
*/
@Test
public void DirList(){
String dirName="c:/yin";
File f=new File(dirName);
//判断是否文件夹
if(f.isDirectory()){
System.out.println("directory of ::"+dirName);
String s[]=f.list();
System.out.println("the list length is "+s.length);
for(int i=0;i<s.length;i++){
File f1=new File(dirName+"/"+s[i]);
if(f1.isDirectory()){
System.out.println("directory of :::"+s[i]);
}else{
System.out.println(s[i]+" is not directory");
}
}
}else{
System.out.println(dirName+" is not a directory");
}
}