java获取根路径有两种方式:
1),在servlet可以用一下方法取得:
request.getRealPath(“/”) 例如:filepach = request.getRealPath(“/”) ”//upload//”;
2),不从jsp,或servlet中获取,只从普通java类中获取:
String path =
getClass().getProtectionDomain().getCodeSource().getLocation().getPath();
SAXReader() saxReader = new SAXReader();
if(path.indexOf(“WEB-INF”)>0){
path = path.substring(0,path.indexOf(“/WEB-INF/classes”) 16);
// ‘/WEB-INF/classes’为16位
document = saxReader.read(path filename);
}else{
document = saxReader.read(getClass().getResourceAsStream(filename));
}
weblogic tomcat 下都有效
String path =
getClass().getProtectionDomain().getCodeSource().getLocation().getPath();
<!--EndFragment-->
Ⅱ java如何拼接linux目录下文件路径
java在读取linux目录时可以使用FileSystem类,FileSystem创建IO流时需要Path子类,新建Path只需要传入String类型的路径即可。
所以拼接路径实际上就是对String的拼接。
String有多种方法可以拼接,最简单的是直接用+号来接。
Ⅲ java怎么取出linux服务器的文件路径
java可以获取当前项目的路径, Class.class.getClass().getResource("/").getPath()
这个是有请求的情况下,request.getSession().getServletContext().getRealPath("")
Ⅳ linux下 Java如何获取文件的绝对路径
需要使用路径时,用下面的方法取得项目根目录的绝对路径(Tools为方法类)
public static String getRootPath() {
String classPath = Tools.class.getClassLoader().getResource("/").getPath();
String rootPath = "";
//windows下
if("\\".equals(File.separator)){
rootPath = classPath.substring(1,classPath.indexOf("/WEB-INF/classes"));
rootPath = rootPath.replace("/", "\\");
}
//linux下
if("/".equals(File.separator)){
rootPath = classPath.substring(0,classPath.indexOf("/WEB-INF/classes"));
rootPath = rootPath.replace("\\", "/");
}
return rootPath;
}
Ⅳ java linux file路径怎么写
liunx 没有window中的盘符 只有一个根目录 不能用“\\” 会被转义 只能用“/”写 你用中盯猜pwd命令查询 文件跟路径卖型 然后拼文件全名 应该就则唤可以的。。 试试
Ⅵ java window和linux FileInputStream读文件路径问题
Linux系统下的文件夹路径和window下的不一样,windows下就需要写成“\\photos"因为java会把第一个"\"当成转义字符给”吃了“。但在linux下就是
“/photos”呵呵,是不是很郁闷阿。所以你的if (myFile.newFolder(path+"\\photos"))
就应该写成if (myFile.newFolder(path+"/photos"))以此类推。
public static final String FILE_SEPARATOR = System.getProperties()。getProperty("file.separator");
文件分隔符(在 UNIX 系统中是“/”),window 是"\"
为了程序的可移植性,使用File.separator来写路径。
File(String pathname)
通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。
public static final String separator
与系统有关的默认名称分隔符,为了方便,如漏它被表示为一个字符串。此字符串只包含一个字符,即 separatorChar。
public static final char separatorChar
与系统有关的默认名称分隔符。此字段被枝雀初始化为包含系统属性 file.separator 值的第一个字符。在 UNIX 系统上,此字段的值为 '/';在 Microsoft Windows 系统上,它为 '\\'。
注意:
路径名字符串与抽象路径名之间的转换与系统有关。将抽象路径名转换为路径名字符串时,每个名称与下一个名称之间用一个默认分隔符 隔开。默认名称分隔符由系统属性 file.separator 定义,可通过此类的公共静态字段 separator 和 separatorChar 使其可用。将路径名渣搭烂字符串转换为抽象路径名时,可以使用默认名称分隔符或者底层系统支持的任何其他名称分隔符来分隔其中的名称
System.getProperty("user.dir") 获取工程路径名
System.getProperty("file.separator").equals("/") 判断linux的方法。
用File.separator这个可以直接替换路径问题,不需要判断
Ⅶ java linux读取文件.文件路径问题.这个文件路径改怎么改才对。
linux下文件路径都是“/”开始的,可以通过changeWorkingDirectory方法来进行路径的切换,举例:
**
* 上传文件
*
* @param fileName
* @param plainFilePath 文件路径路径
* @param filepath
* @return
* @throws Exception
*/
public static String fileUploadByFtp(String plainFilePath, String fileName, String filepath) throws Exception {
FileInputStream fis = null;
ByteArrayOutputStream bos = null;
FTPClient ftpClient = new FTPClient();
String bl = "false";
try {
fis = new FileInputStream(plainFilePath);
bos = new ByteArrayOutputStream(fis.available());
byte[] buffer = new byte[1024];
int count = 0;
while ((count = fis.read(buffer)) != -1) {
bos.write(buffer, 0, count);
}
bos.flush();
Log.info("加密团念敬上传文件开始"塌慎);
Log.info("连接远程上传服务器"+CCFCCBUtil.CCFCCBHOSTNAME+":"+22);
ftpClient.connect(CCFCCBUtil.CCFCCBHOSTNAME, 22);
ftpClient.login(CCFCCBUtil.CCFCCBLOGINNAME, CCFCCBUtil.CCFCCBLOGINPASSWORD);
FTPFile[] fs;
fs = ftpClient.listFiles();
for (FTPFile ff : fs) {
if (ff.getName().equals(filepath)) {
bl="true";
ftpClient.changeWorkingDirectory("/"+filepath+"");
}
}
Log.info("检查文件路径是否存在:/"+filepath);
if("false".equals(bl)){
ViewUtil.dataSEErrorPerformedCommon( "查询文件路径不存在:"+"/"+filepath);
return bl;
}
ftpClient.setBufferSize(1024);
ftpClient.setControlEncoding("GBK");
// 设置文件类型(二进制)
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
ftpClient.storeFile(fileName, fis);
Log.info("上传文件成功:"+fileName+"。文件保存路径:"+"/"+filepath+"/");
return bl;
} catch (Exception e) {
throw e;
} finally {
if (fis != null) {
try {
fis.close();
} catch (Exception e) {
Log.info(e.getLocalizedMessage(), e);
}
}
if (bos != null) {
try {
bos.close();
} catch (Exception e) {
Log.info(e.getLocalizedMessage(), e);
}
}
}
}
备注:只需要修改上传的服务器地址、用户名、密码即可进行服务高毕器访问上传。根据实际需要修改即可。
Ⅷ Linux要怎么查看系统的JAVA安装路径
linux怎么查看java安装路径呢,下面就让我们来看看吧。
1、打开linux系统,在高携linux的桌面的空白处右击。
2、在弹出的下拉选项里,点击打开码念正终端。
3、在终端窗口中输入java-version回车即可看到安装的Java版本。
4、最迟悔后两行即是安装路径。
以上就是小编的分享,希望能帮助的大家。
Ⅸ java程序怎样读取linux系统下的文件
java是跨平台语言,在linux上读文件跟在windows上读文件是一样的 只是文件路径不一样,可以用File对象和FileInputSteam来读取。但要注意文件编码问题。
如果有中文请做适当的编码转换,通常情况下Linux的默认字符编码为UTF-8编码方式,项目可以直接采用utf8编码方式操作.用System.getProperty("file.encoding")可检查系统编码格式。可改操作系统的文件系统编码,vi /etc/profile,在文件末尾加上
export LANG="zh_CN.GBK"
export LC_ALL="zh_CN.GBK"
编码转换代码:new String(files[i].getName().getBytes("GBK"),"UTF-8");
文件操作的核心代码请参考下面代码:
String path= "/home/";
path= "/home/multiverse/Repository/PMEPGImport";
File file=new File(path);
File[] tempList = file.listFiles();
for (int i = 0; i < tempList.length; i++) {
if (tempList[i].isFile()) {
//FileInputStream fis = new FileInputStream("fileName");
//InputStreamReader isr = new InputStreamReader(fis,"utf-8");
StringBuffer buffer = new StringBuffer();
String text;
BufferedReader input = new BufferedReader (new FileReader(tempList[i]));
while((text = input.readLine()) != null)
buffer.append(text +"/n"); }
if (tempList[i].isDirectory()) {
System.out.println("文件夹:"+tempList[i]);
}
}
Ⅹ 从windows系统上传文件至linux服务器,Java代码中要怎么处理路径
Java中可以根据平台来判断路径的分隔符租兆的x0dx0a通段瞎常使用\\或/,也可以使用File.separator一般我在握型空写路径时经常用/x0dx0ax0dx0a5.取得服务器相对路径x0dx0aSystem.getProperty("user.dir")x0dx0a例如:E:\apache-tomcat-5.5.16\apache-tomcat-5.5.16\binx0dx0a可以网络一下Java路径路径分隔符