我有一个.ini文件,看起来像这样,并且正在使用ini4j来解析该文件:
[Filepath]
Inbound=C:\Users\Bilbo\Desktop\Testing
我想返回该确切的字符串(C:\ Users \ Bilbo \ Desktop \ Testing),并且我有以下Java代码:
public static String ParseIniInbound (File iniFile) throws
InvalidFileFormatException, IOException {
String iniFileName = iniFile.toString();
Ini ini = new Ini(new File(iniFileName));
String InboundPath= ini.get("Filepath", "Inbound");
return InboundPath;
}
但是,返回的是C:UsersBilboDesktopTesting
我尝试在.ini文件中的文件路径两边加上引号,以将其作为字符串读取,但这没有用。我在.ini文件中使用了双斜杠(C:\\ Users \\ Bilbo \\ Desktop \\ Testing),该斜杠返回我正在寻找的内容(C:\ Users \ Bilbo \ Desktop \ Testing),但我希望能够只需复制并粘贴文件路径,而不必在.ini文件中手动加双斜杠。有没有一种方法可以使用ini4j从.ini文件中读取字符串,或者采用其他方法解决此问题?谢谢
答案 0 :(得分:0)
在读取文件路径后,只需将斜杠更改为双斜杠即可:
public static String ParseIniInbound (File iniFile) throws
InvalidFileFormatException, IOException {
String iniFileName = iniFile.toString().replaceAll("\\", "\\\\");
Ini ini = new Ini(new File(iniFileName));
String InboundPath= ini.get("Filepath", "Inbound");
return InboundPath;
}
答案 1 :(得分:0)
最简单的方法是禁用转义。
class ViewController: NSViewController {
@IBOutlet weak var scrollView: NSScrollView!
@IBOutlet weak var clipView: NSClipView!
override func viewDidLoad() {
super.viewDidLoad()
let path = "/Library/Desktop Pictures/Snow.jpg"
let url = URL(fileURLWithPath: path, isDirectory: false)
let image = NSImage(contentsOf: url)
let imageView = NSImageView(image: image!)
imageView.translatesAutoresizingMaskIntoConstraints = false
clipView.addSubview(imageView)
let h = NSLayoutConstraint.constraints(
withVisualFormat: "H:|[imageView]|",
options: NSLayoutConstraint.FormatOptions(rawValue: 0),
metrics: nil,
views: ["imageView" : imageView])
let v = NSLayoutConstraint.constraints(
withVisualFormat: "V:|[imageView]|",
options: NSLayoutConstraint.FormatOptions(rawValue: 0),
metrics: nil,
views: ["imageView" : imageView])
clipView.documentView = imageView
// NSLayoutConstraint.activate([h, v].flatMap({$0}))
}
}
其他替代方法是改为使用Wini类
import org.ini4j.Config;
...
Config.getGlobal().setEscape(false);