import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStreamReader; import java.net.URL; public class GetPath { public static void getPath() { //方式一 System.out.println("方式一"); System.out.println(System.getProperty("user.dir")); //方式二 System.out.println("方式二"); File directory = new File("");//设定为当前文件夹 try{ System.out.println(directory.getCanonicalPath());//获取标准的路径 System.out.println(directory.getAbsolutePath());//获取绝对路径 }catch(Exception e) { e.printStackTrace(); } //方式三 System.out.println("方式三"); System.out.println(GetPath.class.getResource("/")); System.out.println(GetPath.class.getResource("")); //方式4 System.out.println("方式四"); System.out.println(GetPath.class.getClassLoader().getResource("")); System.out.println(GetPath.class.getClassLoader().getResource("source.xml")); } /** * @param name 文件名 不包含路径 */ public static String getSrcPath(String name) { String result=null; URL urlpath = GetPath.class.getClassLoader().getResource(name); String path=urlpath.toString(); //remove the head "file:",if it exists if(path.startsWith("file")) { path=path.substring(5); } path.replace("/", File.separator); result=path; return result; } // filename 文件名 不包含路径 // ...args 文件夹名 可以输入多个文件夹名参数 public static String getParallelPath(String filename,String ...args) { String pre=System.getProperty("user.dir"); String path=pre; for(String arg:args) { path+=File.separator+arg; } path+=File.separator+filename; if(path.startsWith("file")) { path=path.substring(5); } path.replace("/", File.separator); return path; } public static void readFile(String filepath) { File file=new File(filepath); try { InputStreamReader sr=new InputStreamReader(new FileInputStream(file)); BufferedReader br=new BufferedReader(sr); String line=null; while((line=br.readLine())!=null) { System.out.println(line); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static String getPackagePath(String filename) { String result=null; URL urlpath=GetPath.class.getResource(""); String path=urlpath.toString(); if(path.startsWith("file")) { path=path.substring(5); } path.replace("/", File.separator); result=path+filename; return result; } //获取WebRoot目录 public static String getWebRootPath() { URL urlpath=GetPath.class.getResource(""); String path=urlpath.toString(); if(path.startsWith("file")) { path=path.substring(5); } if(path.indexOf("WEB-INF")>0) { path=path.substring(0,path.indexOf("WEB-INF")-1); } path.replace("/", File.separator); return path; } //webroot WebRoot目录 //filename 文件名 //...args 文件名所在文件夹,多个参数输入 public static String getWebRootFilepath(String webroot,String filename,String ...args) { String pre=webroot; String path=pre; for(String arg:args) { path+=File.separator+arg; } path+=File.separator+filename; if(path.startsWith("file")) { path=path.substring(5); } path.replace("/", File.separator); return path; } public static void main(String[] args) { // TODO Auto-generated method stub // GetPath.getPath(); // //1 test // System.out.println(GetPath.getSrcPath("source.xml")); // GetPath.readFile(GetPath.getSrcPath("source.xml")); // //2 test System.out.println(GetPath.getParallelPath("source.xml", "my file")); GetPath.readFile(GetPath.getParallelPath("source.xml", "my file")); // //3 test System.out.println(GetPath.getPackagePath("source.xml")); GetPath.readFile(GetPath.getPackagePath("source.xml")); } }
相关推荐
往字符串空格里面加入%20
### Java调用WinRAR生成压缩文件路径有空格问题解决方案 在进行文件处理时,我们经常需要对文件进行压缩操作以便于传输或者节省存储空间。Java作为一种常用的开发语言,在进行此类操作时通常会通过调用外部命令的...
标题中的问题就是这种情况的一个例子,当尝试使用`fscanf()`读取包含空格的字符串时,它只会读取到第一个空格前的部分。 在给出的示例代码中,用户输入"big baby",然后将其写入文件"data1.txt"。之后,尝试使用`...
URL中的某些字符因为具有特殊含义或不被支持,会被转换为十六进制形式的百分号编码(Percent-Encoding),例如空格通常被编码为"%20",而"ü"则可能被编码为"%55"。本文将深入探讨如何使用JavaScript(简称JS)来...
标题 "替换空格(简单经典)1" 描述了一个编程问题,要求在给定的字符串中将所有空格替换为 "%20"。这个问题常见于处理URL编码,因为URL不支持空格,所以通常用"%20"来表示空格。这是一个在LeetCode等在线编程平台上...
总之,`Trim()`函数是VB中处理字符串空格问题的一个基础工具,对于提升代码的整洁性和数据处理的准确性都有很大帮助。结合其他字符串处理函数,你可以更好地控制和格式化字符串内容。在实际项目开发中,理解并熟练...
例如,空格会被编码为"%20",中文字符则会根据其Unicode编码进行转换。 现在,让我们创建一个名为`URL+Encoding.swift`的文件,用来扩展URL类并添加处理特殊字符的方法: ```swift import Foundation extension ...
3. **使用Server.HtmlEncode()和Server.HtmlDecode()**:这两个方法可以对字符串进行编码和解码,编码后空格会转换成`%20`,在页面渲染时再解码,但这样并不能真正减少HTML的字节数,仅用于防止XSS攻击。 4. **启用...
它有20个寄存器,其中通用寄存器(如AX, BX, CX, DX)在查找空格程序中起到关键作用,用于暂存数据或地址。 2. **汇编语言**:汇编语言是与8086指令集相对应的编程语言。每个汇编指令对应一条机器指令,比如`MOV`...
在IE中,空格会被编码为`+`,而在其他一些浏览器中,如Opera,空格可能需要编码为`%20`才能正确解析。因此,需要根据浏览器类型来选择合适的编码方式。 2. **中文字符编码**:对于非ASCII字符,如中文字符,使用`...
2. 空格:在URL中,空格是不被允许的,但可以通过编码为%20来传递。 3. =:用于分隔参数名和参数值,例如`key=value`。 4. %:在URL编码中,%是前缀,后面跟随两位十六进制数,用于表示非ASCII字符或特殊字符。 5. &...
例如,`char str[20] = "Hello"`声明了一个包含20个元素的字符数组,并初始化为"Hello"。 3. **字符串操作函数**:C语言标准库提供了一些字符串处理函数,如`strlen()`用于获取字符串长度,`strcpy()`用于复制字符...
标题中的“汇编语言统计字符串中空格数”是指在汇编语言编程中,编写一个程序来计算一个给定字符串中空格字符的数量。描述提到这是个人自学过程中的练习,表明这是一个学习和验证汇编语言技能的任务。 在给定的代码...
在C++编程中,读取txt文档是一项基本且常见的任务,尤其在处理数据或...当然,更复杂的情况可能需要使用更高级的数据解析库,如 Boost.Spirit 或 C++20 的std::ranges库,但基础的I/O操作始终是所有解决方案的核心。
综上所述,"计算机软件-商业源码-20 去掉字符串中的空格.zip"中的源码很可能是用不同的编程语言实现的上述方法,为开发者提供了一种便捷的方式去处理字符串中的空格问题。通过对这些源码的学习,我们可以深入理解...
总结来说,当使用POST方法提交包含空格的数据时,需要先使用`encodeURIComponent`编码,将空格转换为`%20`,然后再将`%20`替换为加号(+)。这样做是为了遵循`application/x-www-form-urlencoded`的规范,使得后台...
此外,如果数据量大或格式复杂,可以考虑使用更高级的库,如`Boost.Spirit`或`C++20`引入的`std::ranges`。 总的来说,理解和掌握如何在C++中读取和处理带空格的TXT数据是一项基础但关键的技能,它有助于你在各种...
银行卡号则通常更长,由16到20位数字构成,如常见的 Visa 或 MasterCard 卡。为了提高可读性,银行系统通常使用每四位数字后加一个空格的方式,例如"1234 5678 9012 3456"。这样的格式不仅方便用户核对,也有助于...
本文将深入探讨C++如何解决带空格字符串的输入问题。 通常,C++标准库中的`std::cin`用于从用户那里获取输入。然而,当处理字符串时,`cin`有一个特性,即它会遇到空格就停止读取,这可能导致丢失后续的字符。例如...