在 Java 中读取包含反斜杠的 .CSV
Reading .CSV in Java containing Backslash
当我读取其中包含“\”的单元格然后尝试将其替换为“\”时遇到问题,因为 java 转义 属性。
例如:"Error: The provided P\jb credenti"
当我使用以下方法直接从 Cell 中读取时:
if (type == TStream.Spreadsheet) {
try {
FileInputStream stream = new FileInputStream(file);
Workbook workbook = Workbook.getWorkbook(stream);
Sheet sheet = workbook.getSheet(0);
int rows = sheet.getRows();
int ignored = 0;
int parsed = 0;
for (int i = 1; i < rows; i++) {
try {
Cell content = sheet.getCell(0, i);
然后将其放入我制作的用于存储其信息的对象中:
ObjectThatIMade object_= new ObjectThatIMade();
object_.setContent(content.getContents().replace("\", "\\"));
它不会将“\”更改为“\\”,我对 replaceAll 做了同样的操作,但它也不起作用。它以相同的方式存储,当我尝试通过 JSON 将它发送到我的网络服务时,它不会工作,因为字符串中的 '\',它给我错误。
有什么办法可以保证'\'被'\\'代替吗?
非常感谢您的宝贵时间!
即使我尝试使用 JSON 对象插入它也给了我错误,也许我做错了什么,但我所做的并且现在有效的是在 .replace("\","\\")
之前使用分配给 JSON 对象。
它奏效了,我正在处理多个应用程序,这个应用程序包含多个解析文件,这会产生很多问题并增加不必要的复杂性。
非常感谢你们的帮助!
当我读取其中包含“\”的单元格然后尝试将其替换为“\”时遇到问题,因为 java 转义 属性。
例如:"Error: The provided P\jb credenti"
当我使用以下方法直接从 Cell 中读取时:
if (type == TStream.Spreadsheet) {
try {
FileInputStream stream = new FileInputStream(file);
Workbook workbook = Workbook.getWorkbook(stream);
Sheet sheet = workbook.getSheet(0);
int rows = sheet.getRows();
int ignored = 0;
int parsed = 0;
for (int i = 1; i < rows; i++) {
try {
Cell content = sheet.getCell(0, i);
然后将其放入我制作的用于存储其信息的对象中:
ObjectThatIMade object_= new ObjectThatIMade();
object_.setContent(content.getContents().replace("\", "\\"));
它不会将“\”更改为“\\”,我对 replaceAll 做了同样的操作,但它也不起作用。它以相同的方式存储,当我尝试通过 JSON 将它发送到我的网络服务时,它不会工作,因为字符串中的 '\',它给我错误。
有什么办法可以保证'\'被'\\'代替吗?
非常感谢您的宝贵时间!
即使我尝试使用 JSON 对象插入它也给了我错误,也许我做错了什么,但我所做的并且现在有效的是在 .replace("\","\\")
之前使用分配给 JSON 对象。
它奏效了,我正在处理多个应用程序,这个应用程序包含多个解析文件,这会产生很多问题并增加不必要的复杂性。
非常感谢你们的帮助!