判断输入路径是否是文件或目录,并创建相关目录及文件

上一篇 / 下一篇  2016-01-19 20:44:01 / 个人分类:Java

/**
 * 2. 写出一个方法,给定一个路径,判断路径是否是一个文件,
 * 如果是文件,则把该文件的绝对路径输入到该文件中;
 * 如果是文件夹,则在该文件夹内创建一个与文件夹名相同的txt文件,比如如果文件夹名为a,则在a文件夹下创建一个a.txt文件,
 * 并在a.txt中输入a.txt的绝对路径。
 * @param filepath
 */
public static void testFile(String filepath){
File file = new File(filepath);
try{
if(!file.exists()){//判断文件是否存在,不存在往下走
//判断目录是否存在,不存在往下走
if(!file.isDirectory()){
String[] a =filepath.split("\\\\");//split方法通过“\\”分割字符成数组
String path ="";
//判断后缀名是否是文本文件类型,拼接处文本所在文件夹路径
if(filepath.substring(filepath.length()-4).equals(".txt")){
for(int i =0;i<a.length-1;i++){
path = path + a[i]+"\\\\";
}
path = path.substring(0, path.length()-2);
File file1 = new File(path);
file1.mkdirs();//根据所获得的文件夹路径创建文件夹
}else{
file.mkdirs();//如果没有后缀名,直接根据传入的目录结构创建文件夹
}
file.createNewFile();
}
}
if(file.isFile()){//如果是文件,将路径写入文件中
OutputStreamWriter s = new OutputStreamWriter(new FileOutputStream(file));
           os.write(file.getAbsolutePath());
           os.flush();
           os.close();
}else{//如果不是文件,创建文件,并将路径写入文件
File f = new File(file.getAbsoluteFile() + "/" + file.getName() + ".txt");
           if(f.createNewFile()){
              OutputStreamWriter s = new OutputStreamWriter(new FileOutputStream(f));
              os.write(f.getAbsolutePath());
              os.flush();
              os.close();
            }
}
}catch(Exception e){
e.printStackTrace();
}
}

/**
 * 3. 给定一个txt文件,读取并输出里面的内容
 * @param args
 */
public static void printTxt(String filepath){
        File file = new File(filepath);
        try{
       BufferedReader br = new BufferedReader(new FileReader(file));
       int line = 1;
       String str = null;
       while ((str = br.readLine()) != null) {
           System.out.println("line "+ line + ": "+ str);
           line++;
       }
       br.close();
        }catch(Exception e){
        e.printStackTrace();
        }
}


TAG:

 

评分:0

我来说两句

我的栏目

日历

« 2024-05-08  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 29636
  • 日志数: 8
  • 建立时间: 2015-12-29
  • 更新时间: 2016-01-28

RSS订阅

Open Toolbar