java获取路径下的文件|java中怎样获得一个文件夹中的所有文件名

java获取路径下的文件|java中怎样获得一个文件夹中的所有文件名的第1张示图

① java根据路径读取文件

直接贴代码吧。不过这里要做一个简单的说明,对于这个程序,我们必须保证我们在C盘下有一个Users\HP\Desktop的文件夹,因为在后面写入文件的时候,如果路径中的文件不存在,是程序可以自动为其添加,但如果没有了这个路径,则程序会报找不到文件路径的异常。你可以对这个异常进行人性的处理,还可以在程序要向这个路径写入数据之前,创建出这个路径。import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.Scanner;public class ListRoots {private static final String LOG_BASE_PATH = "C:\\Users\HP\\Desktop\\";private static ArrayList<String> mfiles = new ArrayList<String>();/*** 得到给定路径下的目录或是文件* @param strPath* @throws Exception*/private static void displayDirsOrFiles(String strPath) throws Exception {try {File f = new File(strPath);if (f.isDirectory()) {File[] fList = f.listFiles();for (int j = 0; j < fList.length; j++) {if (fList[j].isDirectory()) {System.out.println("Directory is: "+ fList[j].getPath());displayDirsOrFiles(fList[j].getPath()); // 对当前目录下仍是目录的路径进行遍历}}for (int j = 0; j < fList.length; j++) {if (fList[j].isFile()) {String name = fList[j].getPath().toString();System.out.println("Filename is: " + name);mfiles.add(fList[j].getPath());}}}} catch (Exception e) {System.err.println("Error: " + e);}}/*** 向文件中写入数据* @param dirOrfiles* @throws IOException*/private static void writeDetailToFiles(ArrayList<String> dirOrfiles) throws IOException {SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd H:m:s");toFiles(getLogPath(), format.format(new Date()) + " — 检测到文件" + dirOrfiles.size() + "个:" + "\r\n");for (String file : dirOrfiles) {toFiles(getLogPath(), file + "\r\n");}toFiles(getLogPath(), "————————————————————————————————————————–\r\n");}/*** 获得写入数据的路径* @return*/private static String getLogPath() {SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");return LOG_BASE_PATH + format.format(new Date()) + ".txt";}/*** 向dir路径下写入数据data* @param path* @param data*/private static void toFiles(String path, String data) throws IOException {File file = new File(path);if (!file.exists()) {file.createNewFile();}FileWriter fw = new FileWriter(file, true);fw.write(data);fw.flush();fw.close();}public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.println("请输入待遍历目录路径(Format: F:\\a\\b):");String strPath = input.nextLine();try {displayDirsOrFiles(strPath.replace("\\", "\\\\"));writeDetailToFiles(mfiles);} catch (Exception e) {e.printStackTrace();}}}

② java怎么样获取路径下的文件

//根据你的要求修改了一下代码,现在已经能将某文件夹下的所有指定类型文件复制到//指定文件夹下了import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;public class ReadFiles { public static final String FILTER = "xml"; public static final String SRC_DIR = "E:\\StudyData";// 待扫描的文件夹 public static final String DES_DIR = "E:\\testdata";// 复制后的目标文件夹 public static void main(String[] args) { long a = System.currentTimeMillis(); scanDir(SRC_DIR, DES_DIR); System.out.println("共花费时间:"+(System.currentTimeMillis() – a)/1000+"秒"); } public static void scanDir(String srcPath, String desPath) { File dir = new File(srcPath); File[] files = dir.listFiles(); if (files == null) return; for (int i = 0; i < files.length; i++) { if (files[i].isDirectory()) { scanDir(files[i].getAbsolutePath(), desPath); } else { String strFileName = files[i].getAbsolutePath().toLowerCase(); File(strFileName, desPath + files[i].getName()); } } } public static void File(String srcName, String destName) { if (srcName.endsWith(FILTER)) { System.out.println("正在复制文件 "+srcName+" 至 "+destName); try { BufferedInputStream in = new BufferedInputStream( new FileInputStream(srcName)); BufferedOutputStream out = new BufferedOutputStream( new FileOutputStream(destName)); int i = 0; byte[] buffer = new byte[2048]; while ((i = in.read(buffer)) != -1) { out.write(buffer, 0, i); } out.close(); in.close(); } catch (Exception ex) { ex.printStackTrace(); } } }}

③ Java/Android中如何获取不确定路径下的文件

String classpath =This.getClass().getResource("/").getPath().replaceFirst("/", "");这样子可以得到classpath路径,类似于:D:/projects/JavaStudyParent/study-springmvc-junit-test/target/springmvc-junit-test/WEB-INF/classes/然后把WEB-INF/classes截取就能获得WebAPP目录String webappRoot = classpath.replaceAll("WEB-INF/classes/", "");得到的结果就是:D:/projects/JavaStudyParent/study-springmvc-junit-test/target/springmvc-junit-test/,不知道你是想获取绝对路径还是相对路径通过这个路径你就能获取该文件夹下的所有文件啦打开APP,阅读全文

④ java怎么通过文件的路径读取文件

packagefile.system.demo.exception;importjava.io.File;importjava.io.FileNotFoundException;importjava.util.Scanner;publicclassReadFile{publicstaticStringgetFile(Stringrealpath){Scannerscanner=null;Stringtext="";try{Filefile=newFile(realpath);scanner=newScanner(file);}catch(FileNotFoundExceptione){e.printStackTrace();}if(scanner!=null){while(scanner.hasNextLine()){text+=scanner.nextLine();}scanner.close();}//System.out.println(text);returntext;}staticclassInnerTest{publicstaticvoidmain(String[]args){Stringrealpath="D:\test.txt";Stringtext=getFile(realpath);System.out.println(text);}}}实现方式有很多,还可以用字节流FileInputStream,字符流FileReader等方式读取

⑤ java怎么读取文件夹下的所有文件

上面方法也可以,我这种直接就可以得到名字,不需要先转版化为File对象Filefile=newFile("D:\\");Stringtest[];test=file.list();for(inti=0;i评论00加载更多权

⑥ java怎么获取一个目录下的所有文件名

获取一个目录下的所有文件和目录方法:

importjava.io.File;publicclassFileTest{publicstaticvoidmain(String[]args){/***将目标目录封装成File对象。*/Filedir=newFile("/Users/zym/Desktop/Mac应用程序");/***获取目录下的所有文件和文件夹*/String[]names=dir.list();for(Stringname:names){System.out.println(name);}}}

通过文件过滤器获取某个目录下的文件,例如所有的 .txt、.doc文件。

过滤器:

importjava.io.File;importjava.io.FilenameFilter;{@Overridepublicbooleanaccept(Filedir,Stringname){returnname.endsWith(".doc");}}

获取某个目录下的按照过滤器规则的所有文件:

importjava.io.File;publicclassFileTest{publicstaticvoidmain(String[]args){/***将目标目录封装成File对象。*/Filedir=newFile("/Users/zym/Desktop/Mac应用程序");/***通过过滤器获取目录下的所有的.doc文件*/String[]names=dir.list(newFilterByDoc());for(Stringname:names){System.out.println(name);}}}

希望能对您有所帮助!

⑦ java怎么取当前目录下的文件

line的第一个字母是d的话,是目录,否则不是,这个是unix的ls-l的长格式输出。

⑧ java中如何获取目录中的所有文件

public static void list(File path, String[] extArr,HashMap hm) {if (!path.exists()) {System.out.println("文件名称不存在!");} else {if (path.isFile()) {for (int i = 0; i < extArr.length; i++) {if (path.getName().toLowerCase().endsWith(extArr[i])) {// 文件格式hm.put(path.getName(), path);}}} else {File[] files = path.listFiles();for (int i = 0; i < files.length; i++) {list(files[i], extArr,hm);}}}}

⑨ java中怎样获得一个文件夹中的所有文件名

java中获得一个文件夹中的所有文件名代码如下:

packagecom.readfile;

importjava.io.File;

publicclassGetAllFiles {

publicstaticvoidmain(String[] args) {

//路径 这里写一个路径进去

String path="F:\QQ文档";

//调用方法

getFiles(path);

}

/**

* 递归获取某路径下的所有文件,文件夹,并输出

*/

publicstaticvoidgetFiles(String path) {

File file =newFile(path);

// 如果这个路径是文件夹

if(file.isDirectory()) {

// 获取路径下的所有文件

File[] files = file.listFiles();

for(inti =0; i < files.length; i++) {

// 如果还是文件夹 递归获取里面的文件 文件夹

if(files[i].isDirectory()) {

System.out.println("目录:"+ files[i].getPath());

getFiles(files[i].getPath());

}else{

System.out.println("文件:"+ files[i].getPath());

}

}

}else{

System.out.println("文件:"+ file.getPath());

}

}

}

(9)java获取路径下的文件扩展阅读:

如果想要获得当前文件中的文件名只需要String [] fileName = file.list();就可以了。

如果要包括文件中的文件名就可以用递归的方式。下面是两个具体的实现。

其中public static String [] getFileName(String path)是只得到当前文件中的文件名。

public static void getAllFileName(String path,ArrayList<String> fileName)是包括当前文件及其子文件的文件名。

⑩ java怎样获得某个目录下所有文件的文件名

importjava.io.File;importjava.util.ArrayList;publicclassFileTest{privatestaticArrayList<String>filelist=newArrayList<String>();publicstaticvoidmain(String[]args)throwsException{StringfilePath="E://Struts2";getFiles(filePath);}/**通过递归得到某一路径下所有的目录及其文件*/staticvoidgetFiles(StringfilePath){Fileroot=newFile(filePath);File[]files=root.listFiles();for(Filefile:files){if(file.isDirectory()){/**递归调用*/getFiles(file.getAbsolutePath());filelist.add(file.getAbsolutePath());System.out.println("显示"+filePath+"下所有子目录及其文件"+file.getAbsolutePath());}else{System.out.println("显示"+filePath+"下所有子目录"+file.getAbsolutePath());}}}}

未经允许不得转载:山九号 » java获取路径下的文件|java中怎样获得一个文件夹中的所有文件名

赞 (0)