2011-04-30 56 views

回答

11

您可以使用Java IO API。具体为java.io.File,java.io.BufferedReader,java.io.BufferedWriter

假设通过打开你的意思是打开文件阅读。另外为了解Java I/O功能,请查看以下链接:http://download.oracle.com/javase/tutorial/essential/io/

检查下面的代码。

import java.io.BufferedReader; 
import java.io.File; 
import java.io.FileReader; 
import java.io.IOException; 

public class FileIO 
{ 
    public static void main(String[] args) 
    { 
     File file = new File("c:/temp/"); 

     // Reading directory contents 
     File[] files = file.listFiles(); 

     for (int i = 0; i < files.length; i++) { 
      System.out.println(files[i]); 
     } 

     // Reading conetent 

     BufferedReader reader = null; 

     try { 
      reader = new BufferedReader(new FileReader("c:/temp/test.txt")); 
      String line = null; 

      while(true) 
      { 
       line = reader.readLine(); 
       if(line == null) 
        break; 

       System.out.println(line); 
      } 
     }catch(Exception e) { 
      e.printStackTrace(); 
     }finally { 
      if(reader != null) 
      { 
       try { 
        reader.close(); 
       } catch (IOException e) { 
        e.printStackTrace(); 
       } 
      } 
     } 
    } 
} 
2

您可以使用类java.io.File来做到这一点。文件是文件和目录路径名的抽象表示。您可以使用File.list()方法检索其中的文件/目录列表。

2

还有Commons IO package它有各种各样的操作文件和目录的方法。

import java.io.File; 
import java.io.IOException; 
import java.util.Collection; 

import org.apache.commons.io.FileUtils; 
import org.apache.commons.io.filefilter.FileFilterUtils; 

public class CommonsIO 
{ 
    public static void main(String[] args) 
    { 
     // Read the contents of a file into a String 
     try { 
      String contents = FileUtils.readFileToString(new File("/etc/mtab")); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 

     // Get a Collection of files in a directory without looking in subdirectories 
     Collection<File> files = FileUtils.listFiles(new File("/home/ross/tmp"), FileFilterUtils.trueFileFilter(), null); 

     for (File f : files) { 
      System.out.println(f.getName()); 
     } 
    } 
} 
1
public class StackOverflow { 

    public static void main(String[] sr) throws IOException{ 
     //Read a folder and files in it 
     File f = new File("D:/workspace"); 
     if(!f.exists()) 
      System.out.println("No File/Dir"); 
     if(f.isDirectory()){// a directory! 
      for(File file :f.listFiles()){ 
       System.out.println(file.getName()); 
      } 
     } 

     //Read a file an save content to a StringBuiilder 
     File f1 = new File("D:/workspace/so.txt"); 
     BufferedReader br = new BufferedReader(new FileReader(f1)); 
     StringBuilder sb = new StringBuilder(); 
     String line = ""; 
     while((line=br.readLine())!=null) 
      sb.append(line+"\n"); 

     System.out.println(sb); 
    } 
}