-
2021-03-06 16:14:18
问题
windows下路径分割符'',java程序可识别的是'\'或'/',通过用户输入的路径进行转换,变成程序可识别的,但是转化后的路径程序不识别。
程序
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.util.Scanner;
public class test {
public static void main(String[] args) {
// TODO 自动生成的方法存根
String path=null;
System.out.println("请输入文件路径");
Scanner in=new Scanner(System.in); //输入文件路径 "C:\Users\lenovo\Desktop\新建 Microsoft Excel 工作表.xlsx"
path=in.nextLine().replaceAll("\\\\", "/");
System.out.println(path); //得到系统识别的路径 path="C:/Users/lenovo/Desktop/新建 Microsoft Excel 工作表.xlsx"
//path="C:/Users/lenovo/Desktop/新建 Microsoft Excel 工作表.xlsx";
File file=new File(path); //此时系统找不到文件,但是 将path="C:/Users/lenovo/Desktop/新建 Microsoft Excel 工作表.xlsx";执行后 程序能找到文件,问题就是 path已经是"C:/Users/lenovo/Desktop/新建 Microsoft Excel 工作表.xlsx",但程序不识别,怎么回事
try {
FileReader fileReader=new FileReader(file);
System.out.println("读入文件");
} catch (FileNotFoundException e) {
// TODO 自动生成的 catch 块
System.out.println("文件未找到");
}
}
}
更多相关内容 -
java eclipse 文件输入路径问题!!已经快抓狂!希望大神解救!!!!
2015-03-29 07:04:44 路径老无效怎么回事!!!! -
java在指定路径下生成文件夹、文件
2019-11-08 14:23:541.在指定路径下生成文件夹 String filePath1 = "H:\\Company\\2019.7.2报表工具\\chart-desginer\\src\\views\\_test2"; //生成文件夹 File file1=new File(filePath1); if(!file1.exists()){ //如果_test2文件夹不...1.在指定路径下生成文件夹
String filePath1 = "H:\\Company\\2019.7.2报表工具\\chart-desginer\\src\\views\\_test2"; //生成文件夹 File file1=new File(filePath1); if(!file1.exists()){ //如果_test2文件夹不存在 file1.mkdir(); //创建文件夹 } String filePath = "H:\\Company\\2019.7.2报表工具\\chart-desginer\\src\\views\\_test2\\module"; //生成文件夹 File file=new File(filePath); if(!file.exists()){ //如果 module文件夹不存在 file.mkdir(); //创建文件夹 }
2.在指定路径下生成文件、写入内容
try{ //如果module文件夹下没有bar.txt就会创建该文件 BufferedWriter bw = new BufferedWriter(new FileWriter("H:\\Company\\2019.7.2报表工具\\chart-desginer\\src\\views\\_test2\\module\\bar.txt")); bw.write("Hello bar!"); //在创建好的文件中写入"Hello bar" bw.close(); //关闭文件 }catch(IOException e) { e.printStackTrace(); }
3.把一个文件另存为
- 引依赖
import org.apache.commons.io.FileUtils;
//把一个文件另存为并重新命名(具体到新的文件名) FileUtils.copyFile(new File("H:\\Company\\2019.7.2报表工具\\chart-desginer\\src\\views\\_test1\\module\\aa.vue"), new File("H:\\Company\\2019.7.2报表工具\\chart-desginer\\src\\views\\仪表板20\\module\\aa_1.vue")); //把一个文件另存为(具体到文件夹) FileUtils.copyFileToDirectory(new File("H:\\Company\\2019.7.2报表工具\\chart-desginer\\src\\views\\_test1\\module\\aa.vue"), new File("H:\\Company\\2019.7.2报表工具\\chart-desginer\\src\\views\\仪表板\\module"));
- 引依赖
-
Java获得某个路径下的所有文件列表,并写入指定文件
2014-09-21 15:08:54Java获得某个路径下的所有文件列表,并写入指定文件 -
java 选择保存文件的路径
2013-04-27 00:26:07java 选择文件夹 输入需要保存的文件名称 保存 -
java对文件路径和文件夹路径以及文件名的操作
2018-05-12 18:23:59//文件路径 filePath =String.valueOf(file.getAbsolutePath()); //文件夹路径 fileDir =String.valueOf(file.getParent());//方式一 //文件夹路径 String fileDir1 = filePath.substring(0, filePath.lastIndexOf(&...//文件路径 filePath =String.valueOf(file.getAbsolutePath()); //文件夹路径 fileDir =String.valueOf(file.getParent());//方式一 //文件夹路径 String fileDir1 = filePath.substring(0, filePath.lastIndexOf("\\"));//方式二 //文件名和后缀 String fileNameSuffix =String.valueOf(file.getName()); //文件后缀 String Suffix = filePath.substring( filePath.lastIndexOf(".")+1); //文件名 String fileName = fileNameSuffix.substring( 0,fileNameSuffix.lastIndexOf("."));
如有错误,欢迎指正QAQ
-
java读取配置文件路径问题
2020-06-21 10:48:33java打印classpath路径 System.out.println(System.getProperty("java.class.path"));//系统的classpaht路径 System.out.println(System.getProperty("user.dir"));//用户的当前路径 一.文件读取 1.利用java....java打印classpath路径
System.out.println(System.getProperty("java.class.path"));//系统的classpaht路径
System.out.println(System.getProperty("user.dir"));//用户的当前路径
一.文件读取
1.利用java.util自带的Properties类读取
Properties类的load方法提供了两种读取文件的方式
(1)reader作为参数,以字符流方式读取
Properties properties = new Properties();
try {
properties.load(new InputStreamReader(new FileInputStream(fileName),"utf-8"));
} catch (IOException e) {
e.printStackTrace();
}String url = properties.getProperty("url")
在load参数里面可以用任意的io装饰类去装饰文件输入流,只要最终装饰成字符流即可;InputStreamReader方法有编码参数,若读取含有中文的文件,文本文件默认编码为ANSI(在windows中就是GBK),所以将编码参数设置为GBK;或者我的idea系统设置为utf-8编码,所以只要先将文件转为utf-8编码即可(2)inputStream作为参数,以字节流方式读取
Properties properties = new Properties();
try {
properties.load(new FileInputStream(fileName));
} catch (IOException e) {
e.printStackTrace();
}String url = properties.getProperty("url")
同理,load方法参数可以添加任意的装饰组件
2.利用java.util自带的ResourceBundle类读取ResourceBundle bundle = ResourceBundle.getBundle("config");
String url = bundle.getString("url");该方法默认读取的是resources文件夹下的以.properties为后缀的文件,代码中的例子即为config.properties
二.文件路径
有几种方式
1.绝对路径,不赘述
2.相对路径(1)利用System.getProperty方法
System.getProperty("user.dir")+"/src/main/resources/config.properties"
System.getProperty("user.dir")会定位到项目的根目录,可以得到该工程项目所有文件的相关路径及环境配置信息
(2)利用类装载器String fileName = this.getClass().getClassLoader().getResource("config.properties").getPath();
InputStream in = this.getClass().getClassLoader().getResourceAsStream("config.properties");二者都定位到的是编译过后class文件所在同级目录下的配置文件。前者可以获取文件完整路径,然后通过reader字符流读取文件,对应于上述properties类load方法中的(1),后者可以直接作为字节流参数输入load方法对应(2)
(3)默认
properties.load(new InputStreamReader(new FileInputStream("config.properties")));
默认定位从项目根目录开始,上面例子读取的是项目根目录下的config.properties文件
杂记
附上项目内获取绝对路径的方法:(应该是他人总结的 以前笔记本里面发现的,侵删)
1可以在servlet的init方法里
String path = getServletContext().getRealPath("/");
这将获取web项目的全路径
例如 :E:\eclipseM9\workspace\tree\
tree是我web项目的根目录
2.你也可以随时在任意的class里调用
this.getClass().getClassLoader().getResource("/").getPath();
这将获取 到classes目录的全路径
例如 : E:\eclipseM9/workspace/tree/WEB-INF/classes/
这个方法也可以不在web环境里确定路径,比较好用
3.request.getContextPath(); 是在开发Web项目时,经常用到的方法,是为了解决相对路径的问题,可返回站点的根路径。
获得web根的上下文环境
如 /tree
tree是我的web项目的root context
/*jsp 取得当前目录的路径
path=request.getRealPath("");
/*得到jbossWEB发布临时目录 warUrl=.../tmp/deploy/tmp14544test-exp.war/
path=C:\jboss-4.0.5.GA\server\default\tmp\deploy\tmp14544test-exp.war\
String path = (String)request.getContextPath();
在开发项目中经常获取resources下的文件(配置文件及其他各种各样的文件),本文通过java代码获取其文件及输入流;
主要用类加载器的两个重要方法
InputStream in = getClass().getClassLoader().getResourceAsStream("log4j.properties");// 获取文件的输入流
URL url = getClass().getClassLoader().getResource("log4j.properties");// 获取文件的URL一、通过类加载器获取资源文件的文件流,输入流的用途很多,看你自己怎么用都可以,如用在Properties获取配置信息,或者用来读图片,文本等等......例子:读取resources下的log4j配置文件信息;
@Test
public void testStream() throws IOException, URISyntaxException {
// 获取输入流
InputStream in = getClass().getClassLoader().getResourceAsStream("log4j.properties");
// 新建配置对象
Properties p = new Properties();
// 通过输入流加载
p.load(in);
// 读取key
String log4j = p.getProperty("log4j.rootLogger");
System.out.println(log4j);
}运行后如下:
二、通过类加载器获取资源文件的URL,URL的用法也是更加强大,可用用URL对象干很多,比如生成File对象,等可查看URL的API,例子:读取resources下的log4j生成File对象
@Test
public void testStream() throws IOException, URISyntaxException {
// 获取URL
URL url = getClass().getClassLoader().getResource("log4j.properties");
// 通过url获取File的绝对路径
File f = new File(url.getFile());
System.out.println("文件的名子是:" + f.getName());
System.out.println("文件的大小是:" + f.length());
}运行后如下:
以上两个方法对于获取resources下的文件很有用途,多多利用,能幻化出多种用途
-
3种Java从文件路径中获取文件名的方法
2017-06-29 16:46:15import java.io.File; public class FileName { /** * @param args */ public static void main(String[] args) { // 举例: String fName =" G:\\Java_Source\\navigation_tigra_menu\\demo -
java中判断输入的字符串是不是文件路径
2018-09-12 11:47:41原始的方式: String source = "z:\\java\\kl\\$kls\\"...如果直接输入的是直接的文件路径:如:E:\DevTools\eclipse\workplace\laoshi\bin 则要在这个路径下面加多一个系统文件分割符,变成:E:\D... -
在java项目中如何获取某个文件的路径
2021-02-12 19:29:10展开全部File类有两个常用方法可以得到文件路62616964757a686964616fe78988e69d8331333337393562径一个是:getCanonicalPath(),另一个是:getAbsolutePath(),可以通过File类的实例调用这两个方法例如file.... -
Java实现文件写入——输入输出流(IO流)
2021-02-26 20:33:11输入输出含义和意义:输入和输出功能是Java对程序处理数据能力的提高,java以流的形式处理数据。流是一组有序的数据序列,根据操作类型,分为输入流和输出流。程序从输入流读取数据,向输出流写入数据。Java是面向... -
Java io流使用相对路径读取文件
2019-12-08 11:46:05前言: 在大多数时候我们会需要Java程序读取某个文件,不采用绝对路径读取文件,而采用相对路径读取。方法如下: 在工程目录下读取文件: 文件目录: /** * 工程目录下的相对路径读取文件数据 */ public ... -
java项目文件的路径问题
2018-08-31 09:39:32在javaee的项目中,存取文件,解析xml和properties文件,以及项目中的文件,都需要获取路径,常用的一些路径收集如下: 一、src文件夹下的文件,编译后 的classes文件夹 1.直接获取src文件夹下的文件的方法如下:... -
Java Web中的配置文件路径
2018-09-27 11:47:48Java Web项目中配置文件的加载路径,普通类和Servlet的默认根路径有些不一样 1、配置文件方在src下,在普通class文件中加载 public String sayHello(String name) { String path = "config/jdbc_mysql.... -
Java 上传文件 获取绝对路径
2019-01-24 11:51:13说这个很基础吧,确实!但开始不知道这么搞,所以觉得难。...并且当我输入http://192.168.88.91:8080/d.plist 能直接读取到d.pilst文件 【IDEA设置了ip + 端口就能访问项目】 获取项目上传文件绝对... -
Java:遍历获取目录下所有文件路径及其子目录下的所有文件路径
2019-12-24 10:40:22import java.io.*; import java.util.ArrayList; import java.util.List; /** * Created by cy on 2019/7/25. ... // 递归获取某目录下的所有文件路径及子目录所有下文件路径 private static Lis... -
java读取resources下的配置文件+文件相对路径小结
2018-10-05 13:08:141.利用java.util自带的Properties类读取 Properties类的load方法提供了两种读取文件的方式 (1)reader作为参数,以字符流方式读取 Properties properties = new Properties(); try { properties.load(new ... -
获取JAVA文件路径
2013-09-12 13:41:07由于经常需要获取文件的路径,但是比较容易忘记,每次需要总需要...一.Java文件获取路径方式: 各种获取方式如示例代码所示: package first.second; import java.io.File; public class GetPath { public static -
java在 Mac上输入输出字节流文件的路径问题
2019-09-19 22:16:42学习Java中用的Mac电脑 刚开始搞这个路径搞的头疼在此记录一下 Mac 中的路径 都用 /Users/bulingbuling/Desktop/垃圾/01.jpg 分享记录一下第一次写的成功的复制图片 import java.io.FileInputStream; import java... -
java 使用http访问服务器项目以外的文件路径
2018-09-26 10:50:04今天遇到一个问题,想使用http访问非tomcat下的文件,我们都知道通过http可以访问tomcat/webapp/应用程序下的文件,但是如果你的应用上传的附件路径放到webapp/应用程序下的话,每次升级服务,都会覆盖以前的附件,... -
java 实现从url路径中下载文件到本地
2021-05-14 16:55:21java实现从url路径中下载文件到本地 参考文章:《java实现从url路径中下载pdf文档到本地》 对该篇的内容,进行了调整,实现下载url上的文件名的具体内容,就不用指定名称了。 代码: public class ... -
Java NIO文件路径管理:Path类和Paths类
2018-12-13 17:45:49本文章主要包括如下几个章节:类介绍、Path实例获取和文件路径管理。文件路径管理中,主要介绍了Path中定义的主要方法。 1、类的介绍 Path接口 是JDK1.7中定义的接口,主要用来在文件系统中定位文件,通常表示... -
Java读取相对路径文件怎么读取不了?求助
2017-10-20 03:37:27Exception in thread "main" java.io.FileNotFoundException: scores.txt (系统找不到指定的文件。) at java.io.FileInputStream.open0(Native Method) at java.io.FileInputStream.open(Unknown Source) at java.io... -
spring读取windows路径的配置文件
2021-02-12 20:56:38发布到服务器上其实容易实现,因为linux文件的路径直接在web应用中输入就行了。但是之前我需要现在windows本地部署测试,也就是说需要将配置文件放到windows目录下面。先看我代码中读取配置文件的地方。public ... -
java中文件的相对路径以及jar中文件的读取
2020-12-21 05:10:11一:绝对路径名:是完整的路径名,不需要任何其他信息就可以定位它所表示的文件绝对路径表示从根目录定位文件位置,不需要参照其他文件路径,win中从某个分区磁盘如"e://"开始定位,linux表示从根目录"/"开始定位。... -
Java遍历某路径下的所有PDF文件
2019-06-20 18:21:20上面提到的博客存在一些问题,例如输入路径原作者只考虑了路径为文件夹,没有考虑路径为文件的情况。根据自己的目的修改即可。 正文开始 目标:找出某路径下的所有PDF文件 当然,也适用于找出所有文件、所有txt... -
java编写的ftp文件实时监控下载上传
2016-03-22 17:06:13#检测本地文件路径 localPath=D:/ftptestClent/ #需要下载的服务器路径 FTPServerPath=/ #下载或上传后是服删除文件true:是 false:否 deleteFileAfterDownload=true deleteFileAfterUpload=true #日志记录文件 ... -
JAVA-字符串裁剪(从文件路径获取文件名)-substring
2020-09-22 10:29:40今天开发项目正好需要从文件路径中截取一段作为文件名,就学习了一下。 用substring为核心从文件路径字符串里提取文件名 其中截取点用函数lastIndex获取 -
java实现复制文件目录及文件到指定路径下
2019-08-21 08:41:48此程序可以将指定的文件夹及其子目录复制到指定文件下去。 可玩性较强! import java.io.FileOutputStream; import java.io.FileInputStream; import java.util.Scanner; import java.io.*; public class Copy{ ...