/**
* @(#)StringToFile.java
*
*
* @author
* @version 1.00 2016/2/14
*/
package StringToFile;
import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;
public class StringToFile {
public static void main(String[] args) throws IOException {
read("0");
}
public static String read(String msg2) throws IOException {
这是文本文件的硬编码读取
List<String> lines = Files.readAllLines(Paths.get("g:/dungeontreasure/DMJ-solito-v2.12/test.txt"), Charset.defaultCharset());
for (String line : lines) {
msg2被分配从文本文件中读取的内容。我希望。
msg2 = line; // I assign msg2 what was read from file.
现在,我打印出文本文件的内容。这部分有效。
System.out.println("line read:" + line); // I print out line
现在我检查文本文件中是否包含“1”,但这不起作用。
if (msg2==("1")) {
System.out.println("check read: " + msg2); // check to see what we read. But this never works.
}
现在我检查文本文件中是否有“0”,但它永远不会有效。
if (msg2==("0")) {
System.out.println("check read: " + msg2); // check to see what we read.
}
}
return(msg2);
}
}
答案 0 :(得分:0)
如果您需要比较对象,请始终使用方法.equals()
,而不是运算符==
。
对同一个对象(内存中的相同位置)使用运算符==
测试,而不是方法.equals()
检查相同的内容。
所以而不是
if (msg2==("1")) {
你的代码应该是
if (msg2.equals("1")) {