java 读取文件的路径
1. 通用定位到用户目录下:
String userDir = System.getProperty("user.dir");
2. web项目定位到WEB-INF/class 目录下:
String userDir = ClassLoader.getSystemClassLoader().getResource("").getPath();
3. 在JSP 中获取路径
a. 得到包含工程名的当前页面全路径:request.getRequestURI() ;
b. 得到工程名:request.getContextPath() ;
c. 得到当前页面所在目录下全名称:request.getServletPath() ;
d. 得到页面所在服务器的全路径:application.getRealPath("页面.jsp") ;
4. 在Servlet中取得路径
a. 得到工程目录:request.getSession().getServletContext().getRealPath("");
b. 得到地址栏地址:request.getRequestURL() ;
d. 得到相对地址:request.getRequestURI() ;
5. 附两个读取文件的方式
a. 需要打包 成jar,读取指定文件
package net.sf.jtmt.tokenizers; import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL; public class FileReader {
public static String read(String fileName) {
StringBuffer sb = new StringBuffer();
URL url = null;
BufferedReader br = null;
try {
url = FileReader.class.getResource(fileName);
br = new BufferedReader(new InputStreamReader(url.openStream(),
"UTF-8"));
String str; while ((str = br.readLine()) != null) {
sb.append(str+"\n");
}
} catch (Exception ex) {
ex.printStackTrace();
} finally {
try {
if (br != null)
br.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }
return sb.toString();
}
}
FileReader
package wisers.samza.report.util; import java.io.File;
import java.io.IOException;
import org.apache.commons.io.FileUtils; public class FileReaderTest { public static void main(String[] args) {
String fileStr = "";
try {
fileStr = FileUtils.readFileToString(new File(
"src/main/resources/stopwords.txt"), "UTF-8");
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(fileStr);
}
}
b. 读取properties ,支持去读多个properties(指定默认)
package wisers.samza.report.util; import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties; /**
* Created by zf on 2016/8/12 0012.
*/
public class ProConfigUtil { private static final String filePath = "config/config.properties";
private static Map<String, Properties> propertiesMap = new HashMap<>(); private ProConfigUtil() { } public static ProConfigUtil getInstance() {
return getInstance(filePath);
} private static ProConfigUtil getInstance(String filePath) {
Properties prop = propertiesMap.get(filePath);
if (prop == null) {
prop = new Properties();
try {
String userDir = System.getProperty("user.dir");
// WEB-INF/class
//String userDir = ClassLoader.getSystemClassLoader().getResource("").getPath();
String basePath = userDir + "/src/main/";
File file = new File(basePath + filePath);
InputStream inputStream = new FileInputStream(file);
InputStream in = new BufferedInputStream(inputStream);
prop.load(in);
} catch (IOException e) {
e.printStackTrace();
}
propertiesMap.put(filePath, prop);
}
return classHolder.proConfigUtil;
} public static String readValue(String filePath, String key) {
return getInstance(filePath).propertiesMap.get(filePath).getProperty(key);
} public String readValue(String key) {
return propertiesMap.get(filePath).getProperty(key);
} private static class classHolder { private static ProConfigUtil proConfigUtil = new ProConfigUtil();
} }
java 读取文件的路径的更多相关文章
- java获取文件的路径问题
java获取文件的路径问题 在java中读取读取文件,经常因为路径的问题找不到,此文用于记录如何定位文件的简单方法. 本基于springboot做的测试,主要是构建工程方便,所用的方法都是JDK中的方 ...
- java读取网页图片路径并下载到本地
java读取网页图片路径并下载到本地 最近公司需要爬取一些网页上的数据,自己就简单的写了一个demo,其中有一些数据是图片,需要下载下来到本地并且 将图片的路径保存到数据库,示例代码如下: packa ...
- [Java]读取文件方法大全(转)
[Java]读取文件方法大全 1.按字节读取文件内容2.按字符读取文件内容3.按行读取文件内容 4.随机读取文件内容 public class ReadFromFile { /** ...
- Java 读取文件的内容
Java 读取文件的内容 1) CLASS_NAME: 换成自己真实的类名 2) /page/test.json: 换成自己真实的page 3) FileUtils: 来自于org.apache.co ...
- Java读取文件-BufferedReader/FileReader/InputStreamReader/FileInputStream的关系和区别
一.Java读取和存储文件数据流 Java读取文件,实际是将文件中的字节流转换成字符流输出到屏幕的过程 这里面涉及到两个类:InputStreamReader和OutputStreamWriter ...
- java读取项目根路径下和任意磁盘位置下的properties文件
1.读取项目根路径下的properties文件比较简单也是比较常见的一种操作. 具体代码如下: package com.xuanen.util; import java.util.Properties ...
- Java读取文件时中文路径处理
读取文件路径时可能存在以下情况: 1.空格,如果出现空格会转变成“%20” 2.中文路径,如果出现中文路径会变成URI编码“%e5%bc%80%e5%8f%91%e5%b7%a5%e7%a8%8b” ...
- 使用java读取文件夹中文件的行数
使用java统计某文件夹下所有文件的行数 经理突然交代一个任务:要求统计某个文件夹下所有文件的行数.在网上查了一个多小时没有解决.后来心里不爽就决定自己写一个java类用来统计文件的行数,于是花了两个 ...
- java 读取文件——按照行取出(使用BufferedReader和一次将数据保存到内存两种实现方式)
1.实现目标 读取文件,将文件中的数据一行行的取出. 2.代码实现 1).方式1: 通过BufferedReader的readLine()方法. /** * 功能:Java读取txt文件的内容 步骤: ...
随机推荐
- Java经典编程题50道之三十六
有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数. public class Example36 { public static void main(String[] a ...
- GPUImage的filter 响应处理链 的理解笔记
GPUImage的filter的textures处理链式结构 两个最重要的的地方: 最重要的一个类GPUImageOutput(所有的filter的父类,其他也有继承它的,如GPUImageUIEle ...
- 《物联网框架ServerSuperIO教程》-21.终端控制传感器或设备,形成回路控制。附:demo源代码
21.1 概述 ServerSuperIO以前所做的工作逐步为形成回路控制或级联控制打下基础,例如:服务连接器和设备驱动连接器的开发与应用.总之,是通过多种形式下发命令控制设备(驱动)或传感器 ...
- Spring学习(8)--- @Autowired注解(一)
可以将@Autowired注解为“传统”的setter方法 package com.mypackage; import org.springframework.beans.factory.annota ...
- php二进制流文件
<?php $img_file = 'test.png'; // $fp = fopen($img_file, 'rb'); // $content = fread($fp, filesize( ...
- Centos使用vsfotd配置fpt服务
---恢复内容开始--- vsftp简介 vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux, BSD, Solaris, HP-UX 以及 IRIX 上面. ...
- [leetcode-553-Optimal Division]
Given a list of positive integers, the adjacent integers will perform the float division. For exampl ...
- Kotlin入门第四课:简单工厂模式
Kotlin基础知识的学习,请参考之前的文章: Kotlin入门第一课:从对比Java开始 Kotlin入门第二课:集合操作 Kotlin入门第三课:数据类型 初次尝试用Kotlin实现Android ...
- Example013操作样式
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 【PHP】制作日历
本期本博主将讲述两种利用PHP制作日历的方法,由于PHP日期函数的便捷性,使得我们制作日历这一过程变得相当简单 问题描述: 1.取到当前日期,并着色显示:2.根据当前日期,判断本月有多少天,一号是周几 ...