java中获取路径的几种方式

总是忘记, 备份一下,方便下次用.

 

第一种:

File directory = new File("");//参数为空

String courseFile = directory.getCanonicalPath() ;System.out.println(courseFile);

结果:C:\Documents and Settings\Administrator\workspace\projectName获取当前类的所在工程路径;

 

第二种:

File f = new File(this.getClass().getResource("/").getPath());

System.out.println(f);

结果:C:\Documents and Settings\Administrator\workspace\projectName\bin

如果不加“/”

File f = new File(this.getClass().getResource("").getPath());

System.out.println(f);

结果:C:\Documents and Settings\Administrator\workspace\projectName\bin\com\test

 

第三种:URL xmlpath = this.getClass().getClassLoader().getResource("selected.txt");

System.out.println(xmlpath);

结果:file:/C:/Documents and Settings/Administrator/workspace/projectName/bin/selected.txt

 

第四种:

System.out.println(System.getProperty("user.dir"));

结果:C:\Documents and Settings\Administrator\workspace\projectName

 

第五种:System.out.println( System.getProperty("java.class.path"));

结果:C:\Documents and Settings\Administrator\workspace\projectName\bin

 

 

  
import java.io.BufferedReader;  
import java.io.File;  
import java.io.FileOutputStream;  
import java.io.FileReader;  
import java.io.RandomAccessFile;  
  
public class FileOperation {  
   
 /** 
  * 创建文件 
  * @param fileName 
  * @return 
  */  
 public static boolean createFile(File fileName)throws Exception{  
  boolean flag=false;  
  try{  
   if(!fileName.exists()){  
    fileName.createNewFile();  
    flag=true;  
   }  
  }catch(Exception e){  
   e.printStackTrace();  
  }  
  return true;  
 }   
   
 /** 
  * 读TXT文件内容 
  * @param fileName 
  * @return 
  */  
 public static String readTxtFile(File fileName)throws Exception{  
  String result=null;  
  FileReader fileReader=null;  
  BufferedReader bufferedReader=null;  
  try{  
   fileReader=new FileReader(fileName);  
   bufferedReader=new BufferedReader(fileReader);  
   try{  
    String read=null;  
    while((read=bufferedReader.readLine())!=null){  
     result=result+read+"\r\n";  
    }  
   }catch(Exception e){  
    e.printStackTrace();  
   }  
  }catch(Exception e){  
   e.printStackTrace();  
  }finally{  
   if(bufferedReader!=null){  
    bufferedReader.close();  
   }  
   if(fileReader!=null){  
    fileReader.close();  
   }  
  }  
  System.out.println("读取出来的文件内容是:"+"\r\n"+result);  
  return result;  
 }  
   
   
 public static boolean writeTxtFile(String content,File  fileName)throws Exception{  
  RandomAccessFile mm=null;  
  boolean flag=false;  
  FileOutputStream o=null;  
  try {  
   o = new FileOutputStream(fileName);  
      o.write(content.getBytes("GBK"));  
      o.close();  
//   mm=new RandomAccessFile(fileName,"rw");  
//   mm.writeBytes(content);  
   flag=true;  
  } catch (Exception e) {  
   // TODO: handle exception  
   e.printStackTrace();  
  }finally{  
   if(mm!=null){  
    mm.close();  
   }  
  }  
  return flag;  
 }  
  
  
  
public static void contentToTxt(String filePath, String content) {  
        String str = new String(); //原有txt内容  
        String s1 = new String();//内容更新  
        try {  
            File f = new File(filePath);  
            if (f.exists()) {  
                System.out.print("文件存在");  
            } else {  
                System.out.print("文件不存在");  
                f.createNewFile();// 不存在则创建  
            }  
            BufferedReader input = new BufferedReader(new FileReader(f));  
  
            while ((str = input.readLine()) != null) {  
                s1 += str + "\n";  
            }  
            System.out.println(s1);  
            input.close();  
            s1 += content;  
  
            BufferedWriter output = new BufferedWriter(new FileWriter(f));  
            output.write(s1);  
            output.close();  
        } catch (Exception e) {  
            e.printStackTrace();  
  
        }  
    }  
  
} 

 

posted on 2014-05-07 17:44  陆星儿  阅读(310)  评论(0编辑  收藏  举报

导航