「java读取指定路径文件」java根据路径获取文件名

博主:adminadmin 2022-11-29 11:59:08 41

今天给各位分享java读取指定路径文件的知识,其中也会对java根据路径获取文件名进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

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();

copyFile(strFileName, desPath + files[i].getName());

}

}

}

public static void copyFile(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程序读取资源文件时路径如何指定

(1)、request.getRealPath("/");//不推荐使用获取工程的根路径

(2)、request.getRealPath(request.getRequestURI());//获取jsp的路径,这个方法比较好用,可以直接在servlet和jsp中使用

(3)、request.getSession().getServletContext().getRealPath("/");//获取工程的根路径,这个方法比较好用,可以直接在servlet和jsp中使用

(4)、 this.getClass().getClassLoader().getResource("").getPath();//获取工程classes 下的路径,这个方法可以在任意jsp,servlet,java文件中使用,因为不管是jsp,servlet其实都是java程序,都是一个 class。所以它应该是一个通用的方法。

0、关于绝对路径和相对路径

1.基本概念的理解绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例 如:C:xyz est.txt 代表了test.txt文件的绝对路径。也代表了一个URL绝对路径。相对路径:相对与某个基 准目录的路径。包含Web的相对路径(HTML中的相对目录),例如:在Servlet中,"/"代表Web应用的跟目录。和物理路径的相对表示。例 如:"./" 代表当前目录,"../"代表上级目录。这种类似的表示,也是属于相对路径。另外关于URI,URL,URN等内容,请参考RFC相关文档标准。RFC 2396: Uniform Resource Identifiers (URI): Generic Syntax,()2.关于JSP/Servlet中的相对路径和绝对路径。 2.1服务器端的地址服务器端的相对地址指的是相对于你的web应用的地址,这个地址是在服务器端解析的(不同于html和javascript中的相对 地址,他们是由客户端浏览器解析的)

1、request.getRealPath

方法:request.getRealPath("/")

得到的路径:C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\strutsTest\

方法:request.getRealPath(".")

得到的路径:C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\strutsTest\.

方法:request.getRealPath("")

得到的路径:C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\strutsTest

request.getRealPath("web.xml")

C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\strutsTest\web.xml

2、request.getParameter("");

ActionForm.getMyFile();

方法:String filepath = request.getParameter("myFile");

得到的路径:D:\VSS安装目录\users.txt

方法:String filepath = ActionForm.getMyFile();

得到的路径:D:\VSS安装目录\users.txt

--------------------------------------------------

strutsTest 为工程名

myFile 在ActionForm中,为private String myFile;

在jsp页面中:为html:file property="myFile"/html:file

在java项目中如何获取某个文件的路径

File类有两个常用方法可以得到文件路径一个是:getCanonicalPath(),另一个是:getAbsolutePath(),可以通过File类的实例调用这两个方法例如file.getAbsolutePath()其中file是File的实例对象。下面是一个具体例子:

public class PathTest

{

    public static void main(String[] args)

    {

        File file = new File(".\\src\\baidu");

        System.out.println(file.getAbsolutePath());

        try

        {

            System.out.println(file.getCanonicalPath());

        } catch (IOException e)

        {

            e.printStackTrace();

        }

    }

}

getAbsolutePath()和getCanonicalPath()的不同之处在于,getCanonicalPath()得到的是一个规范的路径,而getAbsolutePath()是用构造File对象的路径+当前工作目录。例如在上面的例子中.(点号)代表当前目录。getCanonicalPath()就会把它解析为当前目录但是getAbsolutePath()会把它解析成为目录名字(目录名字是点号)。

下面是上面程序在我电脑上的输出:

G:\xhuoj\konw\.\src\baidu

G:\xhuoj\konw\src\baidu

java如何通过文件路径读取该路径下的所有文件并将其放入list中

java中可以通过递归的方式获取指定路径下的所有文件并将其放入List集合中。

假设指定路径为path,目标集合为fileList,遍历指定路径下的所有文件,如果是目录文件则递归调用,如果是普通文件则放入fileList中。

根据这个思路,得到java源代码如下所示:

//方法getFiles根据指定路径获取所有的文件

public void getFiles(String path){

//目标集合fileList

ArrayListFile fileList = new ArrayList();

File file = new File(path);

if(file.isDirectory()){

File []files = file.listFiles();

for(File fileIndex:files){

//如果这个文件是目录,则进行递归搜索

if(fileIndex.isDirectory()){

getFiles(fileIndex.getPath());

}else {

//如果文件是普通文件,则将文件句柄放入集合中

fileList.add(fileIndex);

}

}

}

}

java根据路径读取文件

其读取方法为:

import java.io.File;  

import java.io.FileNotFoundException;  

import java.io.IOException;  

import java.util.ArrayList;  

  

  

public class readFile {  

    private static ArrayListString listname = new ArrayListString();  

    public static void main(String[] args)throws Exception{  

        readAllFile("C:/Users/HP/Desktop");  

        System.out.println(listname.size());  

    }  

    public static void readAllFile(String filepath) {  

        File file= new File(filepath);  

        if(!file.isDirectory()){  

            listname.add(file.getName());  

        }else if(file.isDirectory()){  

            System.out.println("文件");  

            String[] filelist=file.list();  

            for(int i = 0;ifilelist.length;i++){  

                File readfile = new File(filepath);  

                if (!readfile.isDirectory()) {  

                    listname.add(readfile.getName());  

                } else if (readfile.isDirectory()) {  

                    readAllFile(filepath + "\\" + filelist[i]);//递归  

                }  

            }  

        }  

        for(int i = 0;ilistname.size();i++){  

            System.out.println(listname.get(i));  

        }  

    }  

}

java读取指定路径文件的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java根据路径获取文件名、java读取指定路径文件的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-29,除非注明,否则均为首码项目网原创文章,转载请注明出处。