实验1 C:\Users\zzy\Desktop\
目标:在此目录下的test文件夹下的test1文件夹下创建一个名为test的文本文件
import java.io.File;
public class FileTest {
public static void main(String[] args)throws Exception{
File file=new File("c:"+File.separator+"Users"+File.separator+"zzy"
+File.separator+"DeskTop"+File.separator+"test"+File.separator+"test1"
+File.separator+"test.txt") ;
if(!file.getParentFile().exists()){
file.getParentFile().mkdirs();//注意是getparentFile.mksirs() 不然会把最后的文件名当成文件夹也一起创建
}
file.createNewFile();
}
}
/*
* mkdirs()可以建立多级文件夹, mkdir()只会建立一级的文件夹, 如下:
new File("/tmp/one/two/three").mkdirs();
执行后, 会建立tmp/one/two/three四级目录
new File("/tmp/one/two/three").mkdir();
则不会建立任何目录, 因为找不到/tmp/one/two目录, 结果返回false
*/
/*获取刚才创建的test文件
*并使用BigDecimal类 来讲文件的大小输出
*/
import java.io.File;
import java.math.BigDecimal;
public class FileTest {
public static void main(String[] args)throws Exception{
File file=new File("c:"+File.separator+"Users"+File.separator+"zzy"
+File.separator+"DeskTop"+File.separator+"test"+File.separator+"test1"
+File.separator+"test.txt") ;
if(file.exists()&&file.isFile()){
System.out.println("文件大小:"+(new BigDecimal((double)file.length()/1024/1024)).divide(
new BigDecimal(1), 2,BigDecimal.ROUND_HALF_UP)+"M");
}
}
}
/*这里的BigDecimal类主要用来对浮点数进行小数位数的取舍
*/
/*输出C盘目录下的所有文件
*/
import java.io.File;
public class FileTest {
public static void main(String[] args)throws Exception{
File file=new File("c:"+File.separator);
if(file.isDirectory()){
File list[]=file.listFiles();
for(File f:list){
System.out.println(f);//这里调用了file对象的toString方法
}
}
}
}
/*输出刚才创建的test文件里的内容
* 注意read()方法是读取单个字符
* read(char[]buf)是同时读取多个字符到数组
*/
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.math.BigDecimal;
public class FileTest {
public static void main(String[] args)throws Exception{
try(
FileReader fr=new FileReader("c:"+File.separator+"Users"+File.separator+"zzy"
+File.separator+"DeskTop"+File.separator+"test"+File.separator+"test1"
+File.separator+"test.txt") )
{
char[] buf=new char[32];
int hasRead=0;
while((hasRead=fr.read(buf))>0){
System.out.println(new String(buf,0,hasRead));
}
}
catch(IOException e)
{
e.printStackTrace();
}
}
}