Java字符串包含不使用从文件解析的字符串

Java字符串包含不使用从文件解析的字符串,java,string,file,encoding,Java,String,File,Encoding,我目前面临一个字符串编码问题 ListItemType liste = new ListItemType(); String toBChecked=(String)table.getValueAt(row,0); System.out.print(toBChecked); toBChecked = "Angelic"; for(String s : liste.sets){ if(toBChecked.contains(s)){


我目前面临一个字符串编码问题

ListItemType liste = new ListItemType();
    String toBChecked=(String)table.getValueAt(row,0);
    System.out.print(toBChecked);
    toBChecked =  "Angelic";
    for(String s : liste.sets){
        if(toBChecked.contains(s)){
            setBackground(Color.GREEN);
        }
    }
当我从日志中复制/粘贴字符串“Angelic”并将其放入toBChecked时,它不起作用,但当我在代码中键入它时,它起作用。 当然,当我直接检查表的值(字符串中有“Angelic”一词)时,它不起作用。
表的内容是从UTF-16-LE编码的文件中解析出来的,这是问题吗?

如何修复它?

您应该仔细查看字符串值。查看其长度,并输出每个字符,将每个字符转换为int以查看值。我们看不到读取此文件的代码是没有帮助的…我正在使用如下的Scanner对象:新建Scanner(路径,“UTF-8”)并将每行存储在字符串数组列表中。您正在使用
new Scanner(路径,“UTF-8”)
读取一个您知道是UTF-16LE文件的文件?使用不同的字符集有什么原因吗?我实际上想转换编码。这是我在网上找到的解决方案。但它似乎不起作用。我们不知道这个解决方案是什么,或者它不起作用的地方是什么。。。但是使用错误的编码读取文件肯定是一个糟糕的开始。您应该仔细查看字符串值。查看其长度,并输出每个字符,将每个字符转换为int以查看值。我们看不到读取此文件的代码是没有帮助的…我正在使用如下的Scanner对象:新建Scanner(路径,“UTF-8”)并将每行存储在字符串数组列表中。您正在使用
new Scanner(路径,“UTF-8”)
读取一个您知道是UTF-16LE文件的文件?使用不同的字符集有什么原因吗?我实际上想转换编码。这是我在网上找到的解决方案。但它似乎不起作用。我们不知道这个解决方案是什么,或者它不起作用的地方是什么。。。但是使用错误的编码读取文件肯定是一个糟糕的开始。